Pacotes APK do Android

Criação de um pacote APK

Para criar um pacote APK, use o comando package do ADT, definindo o tipo de destino para apk para compilações de versão, apk-debug para compilações de depuração, ou apk-emulator para compilações em modo de versão para executar em um emulador.

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

Digite o comando inteiro em uma única linha; quebras de linha no exemplo acima estão presentes apenas para torná-lo mais fácil de ler. Além disso, o exemplo pressupõe que o caminho para a ferramenta ADT está na definição do caminho do shell de linha de comando. (Consulte Variáveis de ambiente do caminho para obter ajuda.)

Você deve executar o comando do diretório que contém os arquivos do aplicativo. Os arquivos do aplicativo no exemplo são myApp-app.xml (o arquivo descritor do aplicativo), myApp.swf, e um diretório de ícones.

Quando você executa o comando, como demonstrado, a ADT solicitará a senha do armazenamento de chaves. (Os caracteres da senha digitada não são exibidos; basta pressionar Enter quando terminar de digitar.)

Nota: Por padrão, todos os aplicativos AIR Android têm o air. prefixo no nome do pacote. Para cancelar este comportamento padrão, defina a variável de ambiente, AIR_NOANDROIDFLAIR, como true no computador.

Criação de um pacote APK para um aplicativo que utilize extensões nativas.

Para criar um pacote APK para um aplicativo que use extensões nativas, use a opção -extdir além das opções normais de empacotamento. Caso haja vários ANEs que compartilham recursos/bibliotecas, o ADT escolhe apenas um único recurso/biblioteca e ignora outras entradas duplicadas antes de emitir um aviso. Esse opção especifica o diretório que contém os arquivos ANE que o aplicativo utiliza. Por exemplo:

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

Criação de um pacote APK que inclua sua própria versão do runtime do AIR

Para criar um pacote APK que contenha tanto o aplicativo quanto a versão cativa do runtime do AIR, use o destino apk-captive-runtime. Esse opção especifica o diretório que contém os arquivos ANE que o aplicativo utiliza. Por exemplo:

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

As possíveis desvantagens dessa técnica incluem:

  • Correções importantes de segurança não estão automaticamente disponíveis para os usuários quando a Adobe publica um patch de segurança

  • Tamanho de memória RAM maior para os aplicativos

Nota: Ao agrupar o runtime, o ADT adiciona as permissões INTERNET e BROADCAST_STICKY ao seu aplicativo. Essas permissões são requeridas pelo runtime do AIR.

Criação de um pacote de depuração APK

Para criar uma versão do aplicativo que você pode usar com um depurador, use apk-debug como o destino e especifique opções de conexão:

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

O sinalizador -connect diz ao runtime do AIR no dispositivo onde se conectar a um depurador remoto através da rede. Para depurar através de USB, você deve especificar o sinalizador -listen, especificando a porta TCP para ser usada para a conexão de depuração:

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

Para a maioria dos recursos de depuração funcionar, você também deve compilar os SWFs e SWCs do aplicativo com a depuração ativada. Consulte Opções de conexão do depurador para obter uma descrição completa dos sinalizadores -connect e -listen.

Nota: Por padrão, o ADT cria um pacote de uma cópia cativa do tempo de execução do AIR com seu aplicativo Android e, ao mesmo tempo, cria um pacote do aplicativo com o destino apk-debug. Para forçar o ADT a criar um APK que use o tempo de execução externo, defina a variável de ambiente AIR_ANDROID_SHARED_RUNTIME como true.

No Android, o aplicativo também deve ter permissão para acessar a Internet para que ele se conecte ao computador que está executando o depurador na rede. Consulte Permissões do Android.

Criação de um pacote APK para uso em um emulador do Android

Você pode usar um pacote de depuração APK em um emulador do Android, mas não um pacote de modo de versão. Para criar um pacote de modo de versão APK para uso em um emulador, use o comando package do ADT definindo o tipo de destino para apk-emulator :

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

O exemplo pressupõe que o caminho para a ferramenta ADT está na definição do caminho do shell de linha de comando. (Consulte Variáveis de ambiente do caminho para obter ajuda.)

Criação de um pacote APK a partir de um arquivo AIR ou AIRI

Você pode criar um pacote APK diretamente de um arquivo AIR ou AIRI existente:

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

O arquivo do AIR deve usar o namespace AIR 2.5 (ou superior) no arquivo descritor do aplicativo.

Criar um pacote APK para a plataforma Android x86

Começando pelo AIR 14, o argumento -arch pode ser usado para criar um pacote de APK para a plataforma Android x86. Por exemplo:

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