Pacchetti Android APK

Creazione di un pacchetto APK

Per creare un pacchetto APK, usate il comando ADT package, impostando il tipo di target su apk per le build di rilascio, apk-debug per le build di debug o apk-emulator per le build in modalità rilascio da eseguire su un emulatore.

adt     -package 
                                -target apk 
                                -storetype pkcs12 -keystore ../codesign.p12 
                                myApp.apk 
                                myApp-app.xml 
                                myApp.swf icons

Digitate l'intero comando su una sola riga; le interruzioni di riga nell'esempio qui sopra sono presenti solo per facilitare la leggibilità. Inoltre, nell'esempio si presume che il percorso del tool ADT sia nella definizione di percorso della vostra shell della riga di comando. (Vedete Variabili d'ambiente dei percorsi per ulteriori informazioni.)

Dovete eseguire il comando dalla directory che contiene i file dell'applicazione. Nell'esempio, i file dell'applicazione sono myApp-app.xml (il file descrittore dell'applicazione), myApp.swf e una directory di icone.

Quando eseguite il comando come indicato, ADT richiede la password dell'archivio di chiavi. (I caratteri della password che digitate non vengono visualizzati; quando avete immesso tutti i caratteri della password, premete Invio.)

Nota: Per impostazione predefinita, tutte le applicazioni Android AIR dispongono di air. prefisso nel nome del pacchetto. Per escludere questo comportamento predefinito, impostare la variabile di ambiente AIR_NOANDROIDFLAIR su true , sul computer.

Creazione di un pacchetto APK per un'applicazione che usa estensioni native

Per creare un pacchetto APK per un'applicazione che usa estensioni native, aggiungete l'opzione -extdir alle normali opzioni di compilazione. Nel caso di più di ANE che condividono risorse/librerie, ADT sceglie solo una singola risorsa/libreria e ignora altre voci doppie prima della pubblicazione dell'avviso. Questa opzione consente di specificare la directory contenente i file ANE utilizzati dall'applicazione. Ad esempio:

adt     -package 
                                -target apk 
                                -storetype pkcs12 -keystore ../codesign.p12 
                                myApp.apk 
                                myApp-app.xml 
                                -extdir extensionsDir 
                                myApp.swf icons

Creazione di un pacchetto APK che include una propria versione del runtime AIR

Per creare un pacchetto APK che contiene sia l'applicazione che una versione autonoma del runtime AIR, specificate il target apk-captive-runtime . Questa opzione consente di specificare la directory contenente i file ANE utilizzati dall'applicazione. Ad esempio:

adt     -package 
                                -target apk-captive-runtime 
                                -storetype pkcs12 -keystore ../codesign.p12 
                                myApp.apk 
                                myApp-app.xml 
                                myApp.swf icons

I possibili svantaggi di questa tecnica sono:

  • Patch di sicurezza critici non automaticamente disponibili ogni volta che Adobe pubblica un patch di sicurezza

  • Le applicazioni richiedono più memoria RAM

Nota: quando impacchettate il runtime, ADT aggiunge le autorizzazioni INTERNET e BROADCAST_STICKY all'applicazione. Queste autorizzazioni sono richieste dal runtime AIR.

Creazione di un pacchetto APK di debug

Per creare una versione dell'applicazione utilizzabile con un debugger, usate apk-debug come target e specificate le opzioni di connessione:

adt     -package 
                                -target apk-debug 
                                -connect 192.168.43.45 
                                -storetype pkcs12 -keystore ../codesign.p12 
                                myApp.apk 
                                myApp-app.xml 
                                myApp.swf icons

Il flag -connect indica al runtime AIR sul dispositivo dove connettersi a un debugger remoto tramite la rete. Per eseguire il debug via USB, dovete specificare invece il flag -listen , indicando la porta TCP da usare per la connessione di debug:

adt     -package 
                                -target apk-debug 
                                -listen 7936 
                                -storetype pkcs12 -keystore ../codesign.p12 
                                myApp.apk 
                                myApp-app.xml 
                                myApp.swf icons

Per garantire il corretto funzionamento della maggior parte delle opzioni di debug, dovete inoltre compilare i file SWF e SWC dell'applicazione abilitando esplicitamente il debug. Vedete Opzioni per la connessione del debugger per una descrizione completa dei flag -connect e -listen .

Nota: Per impostazione predefinita, ADT include una copia autonoma del runtime AIR con l'app Android durante la creazione di un'app Android con il valore target APK-debug. Per forzare ADT a creare un APK che utilizza un runtime esterno, impostate la variabile di ambiente AIR_ANDROID_SHARED_RUNTIME su true .

In Android, l'applicazione deve anche disporre dell'autorizzazione ad accedere a Internet per potersi connettere al computer che esegue il debugger tramite la rete. Vedete Autorizzazioni Android .

Creazione di un pacchetto Android da utilizzare su un emulatore Android

Su un emulatore Android potete usare un pacchetto APK di debug ma non un pacchetto in modalità rilascio. Per creare un pacchetto APK di rilascio da usare su un emulatore, usate il comando ADT package, impostando il tipo di target su apk-emulator :

adt -package -target apk-emulator -storetype pkcs12 -keystore ../codesign.p12 myApp.apk myApp-app.xml myApp.swf icons

Nell'esempio, si presume che il percorso del tool ADT sia nella definizione di percorso della vostra shell della riga di comando. (Vedete Variabili d'ambiente dei percorsi per ulteriori informazioni.)

Creazione di un pacchetto APK da un file AIR o AIRI

Potete creare un pacchetto APK direttamente da un file AIR o AIRI:

adt -target apk -storetype pkcs12 -keystore ../codesign.p12 myApp.apk myApp.air

Il file AIR deve usare lo spazio dei nomi AIR 2.5 (o successivo) nel file descrittore dell'applicazione.

Creazione di un pacchetto APK per la piattaforma Android x86

A partire da AIR 14, l'argomento -arch può essere utilizzato per creare un pacchetto APK per la piattaforma Android x86. Ad esempio:

    adt     -package 
                                -target apk-debug 
                                -listen 7936 
                                -arch x86 
                                -storetype pkcs12 -keystore ../codesign.p12 
                                myApp.apk 
                                myApp-app.xml 
                                myApp.swf icons