-
29-09-2010, 17: 48 #1[f@livio ~] #
- Registrato dal
- Jul 2010
- Sesso
- Uomo
- Dispositivo
- Vedi firma :)
- Operatore
- H3G
- Città
- Firenze
- Messaggi
- 10,311
- Grazie!
- 76
- Ringraziato 351 volte in 309 post
[Guida] Pubblicare le App create con App Inventor sul Market
Visto che la guida in beta presente qui:
App Inventor e Market
Ha avuto successo ecco la guida che dovrebbe esser definitiva.
Quelle che sto per descrivere sono informazioni nate per ovviare all'impossibilità di postare sul market applicazioni create tramite App Inventor.
Prerequisiti:
- Java Development Kit 1.6 e Runtime Environment 1.6 già installate sul PC
- Android SDK già installato e funzionante
- Appinventor Extras
- APKTool
- Auto-Sign 6.5
- ….Tanta Pazienza
Punto 1) Creazione delle chiavi di firma delle applicazioni.
Questa procedura è una tantum, non occorre ogni volta che faremo una applicazione, ma la faremo solo la prima volta, e riutilizzeremo la chiave generata per le applicazioni che realizzeremo.
Dunque grazie alla JAVA SDK ci creeremo una chiave privata, che sarà utilizzata da qui in avanti per la pubblicazione delle applicazioni.
Dalla Cartella BIN delle Java SDK eseguire (attenzione il comando è tutto di seguito su di una riga soltanto):
my-release-key.keystore e aliasname sono di fantasia, si può usare cosa si vuole, tenendo conto che aliasname al massimo sarà di 8 caratteri.codice:keytool.exe -genkey -v -keystore my-release-key.keystore -alias aliasname -keyalg RSA -keysize 2048 -validity 10000
Il Market richiede che per pubblicare le applicazioni occorre la chiave privata abbia una durata successiva al 22 ottobre 2033, di conseguenza si usa un valore di validity di 10000 giorni ovvero oltre 27 anni!!!
Punto 2 Personalizzazione dell’Icona della applicazione
A questo punto scaricare l'APK, che avrà nome ad esempio nomeapk.apk, in locale su di una cartella del computer.
Tramite AutoSigner eseguire la seguente procedura (grazie a Marcor Online info@marcoronline.tk per la guida al programma Auto-Signer).
Aprite con 7zip il file nomeapk.apk che volete modificare.
Eliminate totalmente la cartella META-INF (che è la cartella dove sono contenuti i certificati dell’applicazione, non più validi dopo la modifica).
Le immagini generalmente sono quasi tutte contenute nella cartella res\drawable, e in particolare l'icona del programma è quella che si chiama ya.png. Estrate tutte le immagini che volete modificare e tramite il programma che preferite fate tutte le modifiche.
State attenti a non cambiare le dimensioni in pixel dell'immagine e a non cambiare nome ed estensione.
Una volta che avete terminato le modifiche andate a rimettere i file dentro l'apk tramite 7zip) semplicemente trascinandole e sovrascrivendole alle originali.
Chiudete 7zip e rinominate il vostro programma in Launcher.apk.
Estraete il contenuto dell'archivio Auto-Sign v0.65 e copiate il file Launcher.apk dentro alla cartella Auto-Sign\update\app.
Lanciate il tool tramite l'eseguibile Auto-Sign v0.65.exe e nella finestra che compare, dal menu a tendina selezionate Launcher.apk. (Attenzione: se tutto è stato fatto in modo corretto, la scritta Launcher.apk sotto il menu a tendina sarà verde. Se non lo dovesse essere avete rinominato male il file oppure lo avete messo nella cartella sbagliata)
Adesso cliccate su Autosign e in pochi secondi in una nuova finestra vi verrà comunicato che il file è stato ricertificato.
All’interno della cartella Auto-Sign\update\app è stato creato il nuovo file Launcher_signed.apk. Potete buttare il vecchio Launcher.apk e rinominare l’apk ottenuto in pre-nomeapk.apk
Punto 3) Modifica dell’APK per essere compatibile col Market
Decompiliamo il nostro APK
nella cartella creata dal nome pre-nomeapk, andiamo a modificare il file AndroidManifest.xml che è un po' il cuore della parametrizzazione delle applicazioni.codice:apktool d -s pre-nomeapk.apk
Anzitutto indichiamo la versione dell'applicazione aggiungendo gli le keyword "android:versionCode" e "android:versionName" nella keyword "package", come nel seguente esempio::
Specifichiamo adesso la versione minima di Android necessaria per far girare l'applicazione. Attenzione però il Market ha un bug al momento, e non supporta le applicazioni rilasciate per FroYo ovvero Android 2.2. Consideriamo la seguente tabella:codice:<?xml version="1.0" encoding="UTF-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="appinventor.xyz.xyz" android:versionCode="1" android:versionName="1.0">
API Level -> Android Platform Version
1 -> 1.0
2 -> 1.1
3 -> 1.5
4 -> 1.6
5 -> 2.0
6 -> 2.0.1
7 -> 2.1
8 -> 2.2
In caso quindi di una applicazione che può girare su Eclair dovremo inserire la seguente Keyword.
Infine sistemiamo le ultime cose necessarie per rendere compatibile l'apk per il Marketcodice:<uses-sdk android:minSdkVersion="7" />
Rimuovere la keyord android:icon su questa riga:
ed inserirlo su questa riga:codice:<activity android:label="123" android:icon="@drawable/ya" android:name=".Screen1">
Sempre sulla riga relativa all'elemento "application", rimuovere la key "android_:debuggable"codice:<application android:label="XXXXX" android:debuggable="true">
Il file AndroidManifest.xml risultante sarà qualcosa di molto simile a questo
Non rimane altro, una volta effettuate queste modifiche ricompilare il nostro APKcodice:<?xml version="1.0" encoding="UTF-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="appinventor.xyz.xyz" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="3" /> ...... <application android:label="XXXX" android:icon="@drawable/ya" > <activity android:label="123" android:name=".Screen1"> .... </activity> </application> </manifest>
Con 7Zip, aprire l'APK e andare nella cartella META-INF dove rimuovere i files presenti, ad esempiocodice:apktool b pre-nomeapk
ANDROIDK.SF
ANDROIDK.RSAUltima modifica di technofab; 29-09-2010 a 17: 56
Galaxy Nexus yakju JRO03C Jelly Bean 4.1.1
Galaxy S Cyanogenmode 9 - Nightly 13/07/2012
Asus Transformer TF101 Ice Cream Sandwich 4.0.3
-
-
29-09-2010, 17: 51 #2[f@livio ~] #
- Registrato dal
- Jul 2010
- Sesso
- Uomo
- Dispositivo
- Vedi firma :)
- Operatore
- H3G
- Città
- Firenze
- Messaggi
- 10,311
- Grazie!
- 76
- Ringraziato 351 volte in 309 post
Punto 4) Firma dell'applicazione e ottimizzazione per il Market
Dalla Cartella BIN delle JDK eseguire:
Verrà richiesto di inserire la password della chiave privata ed una volta inserita, l'applicazione verrà firmata con la nostra chiave privata.codice:jarsigner.exe -verbose -keystore my-release-key.keystore pre-nomeapk.apk aliasname
Potremmo verifare che la firma è andata a buon fine col comando
Spostiamoci nella cartella dell'SDK di Android e diamo il comandocodice:jarsigner.exe -verify -verbose -certs pre-nomeapk.apk
Punto 5 Pubblicarecodice:zipalign -v 4 pre-nomeapk.apk nome.apk
Il file nome.apk è pronto per essere pubblicato sul Market.
Ringraziamenti
Sono doverosi i seguenti ringraziamenti:
Lo staff di Androidworld.it che mi sopportano ogni giorno ed in particolare ciso, Il Dottore e mitico303. Qui mi hanno permesso prima di altri di pubblicare anche se in beta la mia guida e grazie a questa pubblicazione ho trovato la cavia per provarla...
Alessio70, la cavia ed anche l'inventore di Itandroid, sito che a breve aprirà e il suo topic principale sarà lo sviluppo Android attraverso sia la programmazione tradizionale che App Inventor.
Verix, moderatore di Android-dev.it, senza il quale non avremmo capito come modificare il Manifest.
Marcor, del sito Marcoronline.tk, che ha fornito una guida esaustiva per la personalizzazione della icona dell'applicazione.
Realizzata in data 29 Settembre 2010, by technofab rintracciabile su Androidworld.it e su Twitter
FINEUltima modifica di technofab; 29-09-2010 a 17: 57
Galaxy Nexus yakju JRO03C Jelly Bean 4.1.1
Galaxy S Cyanogenmode 9 - Nightly 13/07/2012
Asus Transformer TF101 Ice Cream Sandwich 4.0.3
-
I seguenti utenti hanno ringraziato technofab per aver trovato utile questo post:
WAR (03-01-2011)
-
29-09-2010, 17: 53 #3[f@livio ~] #
- Registrato dal
- Jul 2010
- Sesso
- Uomo
- Dispositivo
- Vedi firma :)
- Operatore
- H3G
- Città
- Firenze
- Messaggi
- 10,311
- Grazie!
- 76
- Ringraziato 351 volte in 309 post
Vi allego anche la guida in formato PDF per una maggiore facilità di lettura.
Galaxy Nexus yakju JRO03C Jelly Bean 4.1.1
Galaxy S Cyanogenmode 9 - Nightly 13/07/2012
Asus Transformer TF101 Ice Cream Sandwich 4.0.3
-
-
29-09-2010, 19: 45 #4Android Senior
- Registrato dal
- Sep 2010
- Sesso
- Uomo
- Dispositivo
- ,
- Operatore
- Vodafone
- Città
- Milano
- Messaggi
- 112
- Grazie!
- 0
- Ringraziato 3 volte in 3 post
ragazzi sono senza parole!! davvero complimenti mi avete risolto un grosso problema!!
-
04-10-2010, 13: 50 #5
-
I seguenti utenti hanno ringraziato technofab per aver trovato utile questo post:
WAR (03-01-2011)
-
04-10-2010, 16: 59 #6Android Senior
- Registrato dal
- Sep 2010
- Sesso
- Uomo
- Dispositivo
- ,
- Operatore
- Vodafone
- Città
- Milano
- Messaggi
- 112
- Grazie!
- 0
- Ringraziato 3 volte in 3 post
sei un idolo.. io sto ancora lavorando sulla mia prima applicazione (uno yahtzee) che presto postero' in maniera tale che chi ha voglia possa cominciare a fare un po' di testing

non appena sara' pronto non vedo l'ora di testare questa procedura :P
-
04-10-2010, 17: 26 #7[f@livio ~] #
- Registrato dal
- Jul 2010
- Sesso
- Uomo
- Dispositivo
- Vedi firma :)
- Operatore
- H3G
- Città
- Firenze
- Messaggi
- 10,311
- Grazie!
- 76
- Ringraziato 351 volte in 309 post
Il mio gioco preferitooooooooooooooooooooooooooooo
Galaxy Nexus yakju JRO03C Jelly Bean 4.1.1
Galaxy S Cyanogenmode 9 - Nightly 13/07/2012
Asus Transformer TF101 Ice Cream Sandwich 4.0.3
-
14-10-2010, 02: 18 #8Baby Android
- Registrato dal
- Oct 2010
- Sesso
- Uomo
- Dispositivo
- droid
- Operatore
- Vodafone
- Città
- Virginia Beach , VA,USA
- Messaggi
- 5
- Grazie!
- 0
- Ringraziato 0 volte in 0 post
Ciao, cerco di ricostruire il file xml dopo l'editing e ottengo un errore
A cura di
[CODE] <? Xml version = "1.0" encoding = "UTF-8"?>
</ Manifesto
xmlns: androide = "http://schemas.android.com/apk/res/android"
pacchetto = "appinventor.ai_Jernigan52.Auto testo di risposta"
Android: versionCode = "1"
Android: versionName = "1.0">
<uses-sdk android:minSdkVersion="2" />
android:name="android.permission.SEND_SMS" <uses-permission />
android:name="android.permission.INTERNET" <uses-permission />
android:name="android.permission.RECEIVE_SMS" <uses-permission />
<application android:label="Auto Testo Reply" android:icon="@drawable/ya">
<activity android:label="Auto Testo Reply" android:name=".Screen1">
<intent-filter>
android:name="android.intent.action.MAIN" <action />
android:name="android.intent.category.LAUNCHER" <category />
</ Intent-filtro>
android:name="ai_Jernigan52.Texting_responder" <activity>
<Manifest> [/ CODE]
Originale
[CODE] <? Xml version = "1.0" encoding = "UTF-8"?>
pacchetto <manifesto = "appinventor.ai_Jernigan52.Texting_responder"
xmlns: androide = "http://schemas.android.com/apk/res/android">
android:name="android.permission.SEND_SMS" <uses-permission />
android:name="android.permission.INTERNET" <uses-permission />
android:name="android.permission.RECEIVE_SMS" <uses-permission />
android:label="Texting_responder" <application android:debuggable="true">
<activity android:label="Texting_responder" android:icon="@drawable/ya" android:name=".Screen1">
<intent-filter>
android:name="android.intent.action.MAIN" <action />
android:name="android.intent.category.LAUNCHER" <category />
</ Intent-filtro>
</ Attività>
android:name="com.google.devtools.simple.runtime.c omponents.android.ListPickerActivity" <activity />
</ Application>
</ Manifesto> [/ CODE]
errore nel apktool [CODE] C: \ apktools \ altri apktool b> pre-nomeapk2
I: Verifica se le risorse è cambiato ...
I: Costruire le risorse ...
C: \ apktools \ other \ pre-nomeapk2 \ AndroidManifest.xml: 19: errore: Errore parsing XML:
tag non corrispondenti
Eccezione in brut.androlib.AndrolibException thread "main": brut.common.BrutExce
ption: non poteva comando exec: aapt [, p,-F, C: \ Users \ Jacob \ AppData \ Local \ Temp \ A
PKTOOL7776034713094328570.tmp,-I, C: \ Users \ Jacob \ apktool \ Framework \ 1.apk,-S, C
: \ Apktools \ other \ pre-nomeapk2 \ res,-M, C: \ apktools \ other \ pre-nomeapk2 \ AndroidMan
] Ifest.xml
a brut.androlib.res.AndrolibResources.aaptPackage (Unknown Source)
a brut.androlib.Androlib.buildResourcesFull (Unknown Source)
a brut.androlib.Androlib.buildResources (Unknown Source)
a brut.androlib.Androlib.build (Unknown Source)
a brut.androlib.Androlib.build (Unknown Source)
a brut.apktool.Main.cmdBuild (Unknown Source)
a brut.apktool.Main.main (Unknown Source)
Causati da: brut.common.BrutException: non potrebbe comando exec: aapt [, p,-F, C: \ U
SERS \ Jacob \ AppData \ Local \ Temp \ APKTOOL7776034713094328570.tmp,-I, C: \ Users \ Giacobbe
\ Apktool \ Framework \ 1.apk,-S, C: \ apktools \ other \ pre-nomeapk2 \ res,-M, C: \ apktool
s \ altri \ pre-nomeapk2 \ AndroidManifest.xml]
a brut.util.OS.exec (Unknown Source)
... Altri 7
C: apktool \ apktools \ altri> b pre-nomeapk2
I: Verifica se le risorse è cambiato ...
I: Costruire le risorse ...
C: \ apktools \ other \ pre-nomeapk2 \ AndroidManifest.xml: 19: errore: Errore parsing XML:
tag non corrispondenti
Eccezione in brut.androlib.AndrolibException thread "main": brut.common.BrutExce
ption: non poteva comando exec: aapt [, p,-F, C: \ Users \ Jacob \ AppData \ Local \ Temp \ A
PKTOOL6247712400446693200.tmp,-I, C: \ Users \ Jacob \ apktool \ Framework \ 1.apk,-S, C
: \ Apktools \ other \ pre-nomeapk2 \ res,-M, C: \ apktools \ other \ pre-nomeapk2 \ AndroidMan
] Ifest.xml
a brut.androlib.res.AndrolibResources.aaptPackage (Unknown Source)
a brut.androlib.Androlib.buildResourcesFull (Unknown Source)
a brut.androlib.Androlib.buildResources (Unknown Source)
a brut.androlib.Androlib.build (Unknown Source)
a brut.androlib.Androlib.build (Unknown Source)
a brut.apktool.Main.cmdBuild (Unknown Source)
a brut.apktool.Main.main (Unknown Source)
Causati da: brut.common.BrutException: non potrebbe comando exec: aapt [, p,-F, C: \ U
SERS \ Jacob \ AppData \ Local \ Temp \ APKTOOL6247712400446693200.tmp,-I, C: \ Users \ Giacobbe
\ Apktool \ Framework \ 1.apk,-S, C: \ apktools \ other \ pre-nomeapk2 \ res,-M, C: \ apktool
s \ altri \ pre-nomeapk2 \ AndroidManifest.xml]
a brut.util.OS.exec (Unknown Source)
... Altri 7
[/ CODE]
Qualsiasi aiuto sarebbe apprezzato!
-
14-10-2010, 07: 39 #9[f@livio ~] #
- Registrato dal
- Jul 2010
- Sesso
- Uomo
- Dispositivo
- Vedi firma :)
- Operatore
- H3G
- Città
- Firenze
- Messaggi
- 10,311
- Grazie!
- 76
- Ringraziato 351 volte in 309 post
Non che sia molto leggibile, ma leggo un Errore parsing XML: tag non corrispondenti
Hai sicuramente confuso/commesso qualche errore modificando il file di manifesto.Galaxy Nexus yakju JRO03C Jelly Bean 4.1.1
Galaxy S Cyanogenmode 9 - Nightly 13/07/2012
Asus Transformer TF101 Ice Cream Sandwich 4.0.3
-
01-11-2010, 23: 11 #10Baby Android
- Registrato dal
- Oct 2010
- Sesso
- Uomo
- Dispositivo
- Samsung Galaxy SII
- Operatore
- Wind
- Città
- Milano
- Messaggi
- 29
- Grazie!
- 0
- Ringraziato 0 volte in 0 post
ciao ho seguito la tua guida, ho provato a fare l'apktool del file apk già firmato ma l'unica cosa che mi genera è una cartella contenente un unico file apktool.yml. Dove ho sbagliato?
LinkBacks (?)
-
Disqus Comments
Refback This thread26-04-2013, 09: 16 -
[GUIDA]:AppInventor
Refback This thread01-10-2012, 11: 08 -
Tag Guida App Inventor Androidworld It Il Primo Sito In Pdf - Download Owners Manual PDF
Refback This thread24-08-2012, 22: 24 -
[Guida] Pubblicare le App create con App Inventor sul Market - Pagina 6 - App Inventor - Forum Android Italia - AndroidWorld.it
Refback This thread18-07-2012, 15: 07 -
06-04-2011, 13: 49
-
06-04-2011, 08: 22
-
11-03-2011, 18: 27
-
15-12-2010, 11: 38
-
11-11-2010, 13: 15
-
05-11-2010, 15: 59
-
30-09-2010, 09: 06
Discussioni simili
-
Le mie prime APPS create con App Inventor sul mio LG Optimus One!
Da WAR nel forum LG Optimus One (P500)Risposte: 1Ultimo messaggio: 06-01-2011, 18: 12 -
App inventor e market
Da technofab nel forum Problemi con il forum e SegnalazioniRisposte: 17Ultimo messaggio: 30-09-2010, 14: 31 -
App Inventor e Market
Da technofab nel forum App InventorRisposte: 7Ultimo messaggio: 29-09-2010, 09: 32


LinkBack URL
About LinkBacks
Rispondi quotando

Segnalibri