Ora che abbiamo imparato i fondamenti dello sviluppo di applicativi Android rimane un ultimo passaggio per chiudere il cerchio: il rilascio e la pubblicazione dell'app. In questa lezione vedremo come preparare e “confezionare” un'applicazione Android per il rilascio nella principale area di pubblicazione per applicazioni Android: il Google Play Store.
Preparare ed eseguire il packaging di un'applicazione per la pubblicazione è un processo conosciuto come il nome di release process.
Il release process è il processo attraverso il quale passa la nostra app per diventare la release build, ovvero la versione ufficiale pronta per essere pubblicata. Prima di guadagnarsi questo appellativo, e quindi di essere disponibile per l'utente finale, l'applicazione è nella fase di release candidate build: solo dopo attente e rigorose verifiche e test l'app diventa una release build pronta per il rilascio.
Il processo per la pubblicazione di una applicazione Android si divide in 5 passi:
- Preparare una release candidate build
- Testare attentamente e minuziosamente la release candidate.
- Generare un package
- Testare attentamente e minuziosamente il package
- Pubblicare l'applicazione.
Prima di effettuare i test definitivi sulla nostra app dobbiamo preparare la release candidate build
Per avere una release candidate AndroidManifest.xml Google Play Store AndroidManifest.xml release candidate
- Innazittutto verifichiamo che l'icona dell'applicazione
- Verifichiamo inoltre che il nome dell'applicazione sia appropriato
- Verifichiamo la corretta impostazione del testo indicante la versione dell'applicazione
- Controlliamo che il codice della versione dell'applicazione
- Verifichiamo l'impostazione del uses-sdk : possiamo impostare il massimo, il minimo e il consigliato SDK Android supportato dall'applicazione. Il Google Play Store filtra le applicazioni disponibili per uno specifico utente in base alle informazioni fornite da ogni file di configurazione AndroidManifest.xml
- Verifichiamo di aver disabilitato l'opzione debuggable ;
- Verifichiamo che tutti i permessi richiesti dall'applicazione siano appropriati
A questo punto possiamo passare alla fase di testing. In realtà questa fase non richiede particolari interventi, più che altro richiede particolari attenzioni e accorgimenti: dobbiamo testare la nostra applicazione il più rigorosamente possibile e verificare che l'app rispetti i criteri richiesti dal Google Play Store.
Se durante i test dovessimo riscontrare dei bug o delle problematiche di qualche genere sarà nostro compito valutare quanto siano importanti e serie, considerarne la gravità ed eventualmente valutare anche la possibilità di interrompere il processo di rilascio per iniziarlo nuovamente una volta sistemate le problematiche riscontrate.
Se la nostra applicazione ha superato la fase di testing, allora abbiamo ufficialmente la nostra release canditate build. A questo punto dobbiamo generare il package Android, nella pratica un file con estensione .apk, e ufficializzarlo con la firma digitale. Per completare facilmente questi passaggi, sia Eclipse che Android Studio offrono appositi wizard. Li vediamo nei paragrafi seguenti.
Preparazione della release con Eclipse
Per lanciare il wizard su Eclipse è sufficiente cliccare con il tasto destro del mouse sul nostro progetto e selezionare la voce Export. Nella finestra che compare selezioniamo l'opzione Android e poi Export Android Application come mostrato nella seguente figura:
Clicchiamo su Next Browse... Next Keystore
Scegliamo l'opzione Create new keystore keystore Use existing keystore Location Next
Accediamo dunque alla schermata Key Creation
Il team di Android suggerisce per il campo Validity uguale a 25
Clicchiamo su Next Destination and key/certificate checks .apk Finish
Preparare la release con Android Studio
Anche su Android Studio il procedimento di creazione del file .apk da distribuire non sarà molto complicato. L'operazione preliminare richiesta, anche in questo caso, sarà la predisposizione di un keystore, idoneo a contenere le chiavi per firmare digitalmente il pacchetto.
Selezioniamo quindi la voce Generate Signed APK... dal menu Build.
La finestra che si apre, visibile in figura, richiede di indicare una chiave per eseguire la firma del pacchetto. Sono richieste due password: una per accedere al keystore ed una per la chiave.
Tutto ciò è possibile a patto che si abbia a disposizione un keystore preesistente. Se così non fosse, sarà necessario crearlo. Per procedere all'inizializzazione di un nuovo “portachiavi”, clicchiamo su Create new...
Una volta in possesso di una chiave si può procedere alla creazione del pacchetto .apk Build Type release debug
Cosa contiene un APK?
Considerato che abbiamo nominato tante volte in questa lezione il formato APK, diamo ora uno sguardo alla sua struttura interna.
Esso è il frutto di un processo di Build articolato, composto da varie fasi, che elabora le componenenti principali di un progetto: codice
Java, risorse e file AndroidManifest.xml.
Il risultato finale pertanto conterrà:
- file .dex
.class
contributo offerto da librerie esterne; - le risorse a disposizione del progetto che verranno incluse in parte compilate (file resources.arsc
- il file AndroidManifest.xml
Note conclusive
Abbiamo così creato un application package file pronto per la pubblicazione: prima però di renderlo disponibile all'utente finale attraverso i market, è consigliabile eseguire ancora qualche test sull'installazione del pacchetto .apk che abbiamo appena creato.
Proviamo dunque ad installarlo e disinstallarlo sia nell'emulatore sia su uno o più device reali, in modo da verificare che il processo di installazione dell'.apk che vogliamo pubblicare sia completo e vada a buon fine.
Conclusi anche questi test sul file .apk possiamo iniziare il procedimento per pubblicare la nostra app nell'Android Market.