Wednesday, May 09, 2012

Firmare una applicazione Android per pubblicarla

Una volta completato lo sviluppo della applicazione Android per poterla utilizzare su un dispositivo diverso da quello di sviluppo è necessario firmare digitalmente l'applicazione. Il sistema Android richiede che le applicazioni installate siano firmate digitalmente con un certificato la cui chiave privata è posseduta dallo sviluppatore della applicazione.  Il sistema Android usa il certificato per identificare come uno strumento per identificare l'autore della applicazione e stabilire una relazione di fiducia tra le applicazioni. Il certificato non è usato per controllare quali applicazioni l'utente può installare. Il certificato non ha bisogno di essere firmato da una CA Certification Authority: è perfettamente normale per le applicazioni Android usare dei certificati auto-firmati.

I punti importanti da comprendere riguardo alla firma delle applicazioni Android sono:

  • Tutte le applicazione devono essere firmate: il sistema non installerà una applicazione su un emulatore o su un dispositivo se non è firmato
  • Per testare e debuggare la vostra applicazione gli strumenti di build firmano la vostra applicazione  con una chiave speciale di debug che è creata dagli strumenti di build dell'Android SDK
  • Quando siete pronti per rilasciare agli utenti finali, dovete firmare con una chiave privata
  • Non potete pubblicare una applicazione che è firmata con la chiave di debug generata dagli strumenti dell'SDK
  • Potete usare delle chiavi firmate da voi stessi per  firmare le vostre applicazioni. Nessuna Autorità di certificazione è richiesta
  • Il sistema controlla la data di scadenza del certificato dello silviuppatore solo almomenot della installazione
  • Se il certificato del firmatario della aplicazione scade dopo che la applicaionze è installata l'applicazione continua a funzionare normalemente. 
  • Potete usare glis turmenti standard - Keytool e Jarsigner - per generare le chiavi e firmare il file apk della vostra applicazione 
  • Dopo che avete firmato la vostra applicazione per il rilascio, vi raccomando di utilizzare lo strumento zipalign per ottimizzare il package finale APK.   


Con Eclipse per esportare un APK non firmato, cliccate il pulsante destro sul progetto nel Package Explorer e selezionate Android Tools > Export Unsigned Application PackageQuindi selezionate la posizione per l'APK non firmato. 

Compilare e firmare con Eclipse ADT

Per creare un apk firmato e allineato in Eclipse
1) Selezionate il progetto i Package Explorer e selezionate File-> Export
2) Aprite la cartella Android, selezionate Export Android Application, e cliccate Next
Il wizard per l'Export Android Application ora parte , e vi guiderà attraverso il processo di firma della vostra applicazione inlcusi i passi per selezionare la chiave privata con cui firmare l'APK (o per creare  un nuovo keystore e una nuova chiave privata)
3) Completate lo Export Wizard e al vostra applicazione sarà compilata, firmata, allineata e pronta pe rla distribuzione


11 comments:

Unknown said...

Salve,

ho sviluppato un'applicazione con dreamweaver cs6 e phonegap. Ho creato l'apk con phonegapbuild e quando provo ad inserire l'applicazione in google play store, mi dice:"Google Play non accetta apk firmati con il certificato di debug. Crea un nuovo certificato valido per almeno 50 anni".
Saprebbe aiutarmi?
Grazie

Unknown said...

Esattamente il mio medesimo problema. Qualche idea?

Unknown said...

stesso problema qualcuno ha risolto??

Unknown said...

POtete spiegarmi cosa devo cambiare per far si che due applicazioni sostanzialmente uguali, di cui una pubblicata sullo store e una che installo dal mio eclipse su un device in modalità DEMO possa coesistere con quella scaricata dallo store senza che venga sovrascritta quella principale? Devo necessariamente cambiare il package? Grazie a tutti

lupino73 said...
This comment has been removed by the author.
lupino73 said...

Sul sito di phonegap build vai in sezione Settings. Qui togli la spunta da enable debug. E salva . Ora la app dovrebbe poter eesere installata

Unknown said...

Buongiorno,
ho sviluppato un'app e creato l'apk con phonegapbuild. Quando provo ad inserire l'applicazione in google play store, mi dice:"Google Play non accetta apk firmati con il certificato di debug.
Ho provato a togliere il flag "debug" dalla schermata di phonegap build ma non riesco ugualmente a pubblicare su Google Play.
Saprebbe aiutarmi?
Grazie

Unknown said...

Buongiorno,
ho sviluppato un'app e creato l'apk con phonegapbuild. Quando provo ad inserire l'applicazione in google play store, mi dice:"Google Play non accetta apk firmati con il certificato di debug.
Ho provato a togliere il flag "debug" dalla schermata di phonegap build ma non riesco ugualmente a pubblicare su Google Play.
Saprebbe aiutarmi?
Grazie

Unknown said...

Stesso problema... Ma nessuno ha risolto?? Ho tolto il debug... E lo messo ma niente... Non succede nulla...

Unknown said...

Stesso problema... Ma nessuno ha risolto?? Ho tolto il debug... E lo messo ma niente... Non succede nulla...

Unknown said...

Ottenere una certificazione Iso 9001 e Ohsas 18001 ad un costo vantaggioso è molto semplice, basta chiedere ad un BROKER specializzato in "quotazioni certificazioni di sistema" per ottenere più di 5 preventivi tra i migliori in assoluto e risparmiare fino al 30% sui costi certificazioni.