Android-dev.it Community

 
Annunci

:arrow: Benvenuto!, se non sei ancora un utente registrato: puoi registrati qui, oppure effettua il login
:arrow: Apri un forum sul tuo nuovo smartphone Android e collabora con noi! (dettagli)

www.agendadigitale.org
Image


Sponsor
It is currently Thu May 24, 2012 9:18 am

All times are UTC + 1 hour


 Topics   Replies   Views   Last post 
No new posts Applicazione per gestire SMS

by filippo729 on Wed May 23, 2012 9:39 pm in Sviluppo e programmazione in Android

0

19

Wed May 23, 2012 9:39 pm

filippo729

No new posts На интернет-витрине

by popowahgjfghjoiuyt on Sat May 19, 2012 2:25 pm in Amministrazione

0

18

Sat May 19, 2012 2:25 pm

popowahgjfghjoiuyt

No new posts Apri un forum sul tuo nuovo smartphone Android!

[ Go to page: 1, 2, 3 ]

by ReattileGar on Fri May 18, 2012 5:27 pm in Amministrazione

27

12556

Fri May 18, 2012 5:27 pm

ReattileGar

No new posts Новый: базы для хрумера - профессиональный софт для СЕО.

by Renatafe on Fri May 18, 2012 3:14 pm in Amministrazione

0

27

Fri May 18, 2012 3:14 pm

Renatafe

No new posts Pace is undoubtedly the vital affordable Jerseys Wholesale d

by barnettmmolive2012 on Wed May 16, 2012 7:36 am in Amministrazione

1

49

Wed May 16, 2012 7:36 am

barnettmmolive2012




Post new topic Reply to topic  [ 16 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: [GUIDA]Pubblicare app create con App Inventor sul Market
PostPosted: Wed Sep 29, 2010 11:08 am 
Offline
Moderatore
User avatar

Joined: Thu Dec 27, 2007 3:51 pm
Posts: 986
Cellulare Android: HTC Dream
Operatore: TIM
Punti Android: 1320
Come sapete, con App Inventor di Google è possibile creare in modo completamente grafico applicazioni per dispositivi Android, anche di una certa complessità, senza dover scrivere direttamente linee di codice Java e quindi senza la necessità di conoscere le API e le tecniche di programmazione di Android.

Una volta terminato il lavoro di "creazione" grafica della propria applicazione, è possibile fare il download del package Android (.apk) generato da App Inventor.
Il pacchetto .apk così ottenuto è utilizzabile per distribuire a terzi l'applicazione; e' infatti possibile installare l'App collegando il proprio smartphone al PC ed usando il comando adb:
Code:
adb install <nome_app>.apk

oppure più semplicemente copiando il file .apk sulla sdcard ed installando il pacchetto direttamente dal celulare, usando uno dei tanti file manager per Android disponibili (anche gratuiti) che consentono di installare le app semplicemente selezionando il relativo file .apk

Purtroppo però non è al momento possibile pubblicare l'applicazione generata con App Inventor sull' Android Market semplicemente facendo l'upload del file .apk, così come generato da App Inventor, per numerosi motivi:
- la signature del file .apk è generata tramite la testkey utilizzabile solo in fase di sviluppo e debug dell'applicazione;
- non è possibile associare all'applicazione un'icona personalizzata;
- il Manifest.xml associato all'applicazione è privo di alcune delle informazioni necessarie per pubblicare l'applicazione sul Market

Se volete pubblicare la vostra applicazione creata con App Inventor sul Market è quindi necessario seguire i passi seguenti.

Requisiti:
- Java SDK installato e funzionante
- Android SKD installato e funzionante
- ***URLs are hidden from guests, please register and login to view the hyperlink***, ***URLs are hidden from guests, please register and login to view the hyperlink***, ***URLs are hidden from guests, please register and login to view the hyperlink***

Passo 1: Decompilare il file .apk

Per decompilare il file .apk (senza generare i sorgenti .smali delle classi) usare il comando:
Code:
apktool d -s <nome_app>.apk

Con questo comando l'archivio .apk non viene semplicemente scompattato, come avverrebbe con un semplice unzip, ma il Manifest.xml viene anche decopmpilato e trasfromato in formato testo, quindi editabile. Se invece si ommette il flag -s, apktool decompila anche classes.dex e produce i file .smali per ogni classe dell'applicazione. Se non vogliamo modificare le classi è molto meglio evitare questo passaggio per minimizzare la possibilità che qualcosa vada storto nella fase di riscotruzione del pacchetto .apk (cosa che purtroppo può sempre capitare).

Passo 2: Modificare l'icona associata all'applicazione

Tramite il comando in step1, apktool crea una cartella chiamata <nome_app>; in <nome_app>\res\drawable si trova il file ya.png che rappresenta l'icona di default dell'applicazione generata da App Inventor. Sovrascrivere questo file con l'icona desiderata, avendo l'accortezza di usare lo stesso formato (64x64) e senza cambiare nome ed estensione.

Passo 3: Modificare il Manifest.xml

Passo 3.1: "Versioning" dell'applicazione

Aggiungere le informazioni relative alla versione della propria App aggiungendo gli atributi "android:versionCode" e "android:versionName" nell'elemento "package", come nell'esempio seguente:

Quote:
<?xml version="1.0" encoding="UTF-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="appinventor.XXXX.XXXX"
android:versionCode="1"
android:versionName="1.0"
>
......

Passo 3.2: Specificare la versione minima di Android compatibile con l'applicazione (API level)

Per fare questo è sufficiente aggiungere l'elemento "uses-sdk" e considerare la tabella seguente:

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

(attenzione, al momento non è possibile pubblicare applicazioni create con App Inventor che hanno API level pari ad 8 (Android 2.2), a causa di un bug presente nel Market)

Qundi, ad esempio, se l'applicazione può girare su Android 1.5 (Cupcake) e superiori, si può aggiungere al Manifest.xml la linea seguente:
Quote:
<uses-sdk android:minSdkVersion="3" />

Se lo si desidera, è possibile specificare anche gli elementi android:targetSdkVersion e android:maxSdkVersion.

Passo 3.3:Spostare l'attributo android:icon dall'elemento "activity" all'elemento "package" e rimuovere l'attributo android:debuggable

Attualmenete App Inventor genera un Manifest.xml dove l'attributo android:icon è associato all'activity principale dell'applicazione ma l'Android Market richiede che questo attributo sia associato al package (in caso contrario, il parsing del Manifest.xml fallisce e l'upload del file .apk risulta impossibile, quindi è necessario eseguire questa modifica:

Rimuovere l'attribtuo android:icon su questa riga:
Quote:
<activity android:label="XXX" android:icon="@drawable/ya" android:name=".Screen1">

ed iserirlo su questa riga:
Quote:
<application android:label="XXXXX" android:debuggable="true">

Sempre sulla riga relativa all'elemento "application", rimuovere l'attributo "android_:debuggable"

Alla fine, il Manifest.xmlmodificato sarà come questo:

Quote:
<?xml version="1.0" encoding="UTF-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="appinventor.XXX.XXX"
android:versionCode="1"
android:versionName="1.0"
>
<uses-sdk android:minSdkVersion="3" />
......
<application android:label="XXXX" android:icon="@drawable/ya" >
<activity android:label="XXXXX" android:name=".Screen1">
....
</activity>
</application>
</manifest>


Passo 4: Ricostruzione del pacchetto .apk modificato (build)

Ricostruire il pacchetto .apk usando apktool, con il comando
Code:
apktool b <nome_app>

dove <nome_app> è la cartella generata da apktool al passo 1). In alternativa. è possibile entrare nella cartella <nome_app> ed usare il comando
Code:
apktool b

Apktool genererà un nuovo file .apk dentro la cartella <nome_app>\build\apk

Passo 5: Ottimizzare il nuovo .apk con zipalign e firmarlo con la propria chiave privata

Il pacchetto .apk generato al passo precedente NON è ottimizzato e NON è "signed" (firmato)
Per ottimizzarlo con zipalign, usare il comando:
Code:
zipalign -v 4 <nome_app>.apk <nome_app_zipaligned>.apk

Per applicare la firma usando il proprio certificato, usare il comado
Code:
jarsigner.exe -verbose -keystore <mia_chiave>.keystore <nome_app_zipaligned>.apk <aliasname>

(jarsigner si trova nella cartella \bin del Java JDK)

NB: Per pubblicare l'applicazione è necessario firmare l'apk con una chiave privata personale , che deve essere prima generata (<mia_chiave>.keystore) usando il programma keytool che si trova in Java SDK.
Per generare il certificato si può usare keytool presente nel Java SDK, usando il comndo seguente:
Code:
keytool.exe -genkey -v -keystore <mia_chiave>.keystore -alias <aliasname> -keyalg RSA -keysize 2048 -validity 10000

E' possibile generare il certificato contenente la propria chiave privata anche creando un progetto Android su Eclipse ed usando l'Export Wizard (File->Export, Android->Export Android Application).

A questo punto il vostro pacchetto apk è bello e pronto per essere pubblicato nel Market! :mrgreen: :mrgreen: :mrgreen:

:wave:


Top
 Profile  
 
 Post subject: Re: [GUIDA]Pubblicare app create con App Inventor sul Market
PostPosted: Wed Sep 29, 2010 12:05 pm 
Offline
User avatar

Joined: Wed Sep 29, 2010 7:53 am
Posts: 5
Punti Android: ?
Verix wrote:

A questo punto il vostro pacchetto apk è bello e pronto per essere pubblicato nel Market! :mrgreen: :mrgreen: :mrgreen:

:wave:


Bravo ottimo lavoro ;)


Top
 Profile  
 
 Post subject: Re: [GUIDA]Pubblicare app create con App Inventor sul Market
PostPosted: Thu Oct 14, 2010 10:43 am 
Offline
User avatar

Joined: Fri Jun 25, 2010 7:27 pm
Posts: 18
Operatore: Wind
Punti Android: ?
Ciao Verix, ho un problema, stavo realizzando un piccolo upgrade alla mia applicazione, al passo 3 della guida modificare il manifest.xml, eseguo tutta la procedura,

Image

modifico il file androidmanifest.xml cosi

Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest package="appinventor.ai_alessio2508.WindContatori"
xmlns:android="http://schemas.android.com/apk/res/android"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="3" />
    <uses-permission android:name="android.permission.SEND_SMS" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.RECEIVE_SMS" />
    <uses-permission android:name="android.permission.CALL_PHONE" />
    <application android:label="WindContatori" android:icon="@drawable/ya">
        <activity android:label="WindContatori" android:name=".Screen1">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="com.google.devtools.simple.runtime.components.android.ListPickerActivity" />
    </application>
</manifest>


di seguito vado con apktool b

Image

ma il risultato che trovo nella cartella \tools\windcontatori\build è questo, nessun file .apk

Image

Ho provato con Dreamweaver, Notepad++ ed altri editor ma nulla stesso risultato, dove sbaglio? Quando proprio grazie al tuo aiuto era andato tutto liscio la scorsa volta. Attendo notizie
Alessio :wave:


Top
 Profile  
 
 Post subject: Re: [GUIDA]Pubblicare app create con App Inventor sul Market
PostPosted: Thu Oct 14, 2010 11:37 am 
Offline
User avatar

Joined: Fri Jun 25, 2010 7:27 pm
Posts: 18
Operatore: Wind
Punti Android: ?
Mi rispondo da solo, ho preso il contenuto della cartella "build" l'ho zippato, rinominato in .apk ed ho proseguito sino alla pubblicazione senza problemi :wave: :wave:


Top
 Profile  
 
 Post subject: Re: [GUIDA]Pubblicare app create con App Inventor sul Market
PostPosted: Mon Dec 20, 2010 9:05 pm 
Offline
User avatar

Joined: Mon Dec 20, 2010 7:55 pm
Posts: 3
Punti Android: ?
ho seguito varie guide ma ancora nn riesco a caricare la mia app sul market.

Prima di dava errore di manifest e ho aggiustato.
Ora invece mi da errore di certificato eppure l'ho signato con la chiave del keystore validità 10.000 giorni!

non so proprio cosa fare. Come posso farmi aiutare?

c'è qualche anima pia che me la controlla e me la rimanda aggiustata?


Top
 Profile  
 
 Post subject: Re: [GUIDA]Pubblicare app create con App Inventor sul Market
PostPosted: Thu Dec 23, 2010 5:41 pm 
Offline
User avatar

Joined: Thu Dec 23, 2010 5:20 pm
Posts: 1
Punti Android: ?
Ciao a tutti gente!
Ho appena scoperto una cosa molto interessante: Toshiba ha aperto un forum per sviluppatori destinato al market place del folio 100! :drink: :tleft:
Ecco il link: ***URLs are hidden from guests, please register and login to view the hyperlink***

Fate girare la voce!!


Top
 Profile  
 
 Post subject: Re: [GUIDA]Pubblicare app create con App Inventor sul Market
PostPosted: Mon Jan 03, 2011 10:31 pm 
Offline
User avatar

Joined: Sun Jan 02, 2011 7:23 pm
Posts: 4
Operatore: TIM
Punti Android: ?
come apro il file manifest.xml?


Top
 Profile  
 
 Post subject: Re: [GUIDA]Pubblicare app create con App Inventor sul Market
PostPosted: Mon Jan 03, 2011 11:19 pm 
Offline
User avatar

Joined: Mon Dec 20, 2010 7:55 pm
Posts: 3
Punti Android: ?
devilmj wrote:
ho seguito varie guide ma ancora nn riesco a caricare la mia app sul market.

Prima di dava errore di manifest e ho aggiustato.
Ora invece mi da errore di certificato eppure l'ho signato con la chiave del keystore validità 10.000 giorni!

non so proprio cosa fare. Come posso farmi aiutare?

c'è qualche anima pia che me la controlla e me la rimanda aggiustata?


non c'è nessuno che possa aiutarmi con la mia app? non riesco a renderla compatibile, ho seguito sia una guida su youtube, ma anche delle guide su internet.

Mi da errore prima di manifest, ora ho risolto con manifest...ma non va.

Qualcuno di voi può darmi una mano?


Top
 Profile  
 
 Post subject: Re: [GUIDA]Pubblicare app create con App Inventor sul Market
PostPosted: Mon Jan 03, 2011 11:37 pm 
Offline
User avatar

Joined: Sun Jan 02, 2011 7:23 pm
Posts: 4
Operatore: TIM
Punti Android: ?
mi mandi il link della guida su youtube per pm?


Top
 Profile  
 
 Post subject: Re: [GUIDA]Pubblicare app create con App Inventor sul Market
PostPosted: Tue Jan 04, 2011 11:08 am 
Offline
User avatar

Joined: Sun Jan 02, 2011 7:23 pm
Posts: 4
Operatore: TIM
Punti Android: ?
ma c'è qualkuno su sto forum che ci posssa aiutare?


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 16 posts ]  Go to page 1, 2  Next

All times are UTC + 1 hour


Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
SitemapIndex SitemapIndex RSS Feed RSS Feed Channel list Channel list
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB SEO

All trademarks and logos used in this site are of properties of their respective owners.