Пакеты Android APK

Создание пакета APK

Для создания пакета APK используйте команду ADT package, установите тип целевой платформы apk для рабочих версий, apk-debug — для отладочных версий или apk-emulator — для сборок, запускаемых в рабочем режиме на эмуляторе.

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

Введите команду в одной строке. Разрывы строки в приведенном выше примере служат только для упрощения восприятия. Кроме того, в данном примере предполагается, что путь к инструменту ADT указан в определении пути оболочки командной строки. (Инструкции см. в разделе «Переменные среды Path».)

Команда должна быть запущена из каталога с файлами приложения. В данном примере представлены файлы приложений myApp-app.xml (файл дескриптора приложения), myApp.swf и каталог значков.

Если приложение запускается, как показано в примере, ADT предложит ввести пароль для хранилища ключей (при вводе пароль не отображается, поэтому после завершения ввода требуется просто нажать Enter).

Примечание. По умолчанию все приложения AIR Android имеют префикс air. в имени пакета. Чтобы изменить такое поведение по умолчанию, задайте переменной среды AIR_NOANDROIDFLAIR значение true на своем компьютере.

Создание пакета APK для приложения, в котором используются собственные расширения

Чтобы создать пакет APK для приложения, которое использует собственные расширения, добавьте параметр -extdir в дополнение к обычным параметрам упаковки. Если имеется несколько ANE, которые используют общие ресурсы или библиотеки, ADT выбирает только один ресурс или библиотеку и игнорирует другие повторяющиеся записи, прежде чем отправлять предупреждение. Этот параметр указывает каталог, содержащий файлы ANE, используемые приложением. Например:

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

Создание пакета APK, включающего собственную версию среды выполнения AIR

Чтобы создать пакет APK, который содержит и приложение и связанную версию среды выполнения AIR, используйте в качестве цели apk-captive-runtime. Этот параметр указывает каталог, содержащий файлы ANE, используемые приложением. Например:

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

Этой технике свойственны следующие недостатки.

  • Важные исправления системы защиты недоступны пользователям автоматически после публикации исправления системы защиты компанией Adobe

  • Программа использует больше ОЗУ

Примечание. Когда среда выполнения включается в пакет приложения, ADT добавляет в приложения разрешения INTERNET и BROADCAST_STICKY. Они требуются для среды выполнения AIR.

Создание отладочного пакета APK

Чтобы создать версию приложения, которая будет использоваться с отладчиком, установите в качестве типа целевой платформы apk-debug и укажите параметры подключения:

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

Флаг -connect указывает среде выполнения AIR на устройстве, когда требуется подключиться по сети к удаленному отладчику. Для выполнения отладки по USB вместо этого следует установить флаг -listen и указать порт TCP, который будет использоваться для подключения к отладчику:

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

Для работы большинства функций отладки необходимо скомпилировать файлы SWF и SWC приложения, для которых включен режим отладки. В разделе «Параметры подключения к отладчику» приводится подробное описание флагов -connect и -listen.

Примечание. По умолчанию ADT упаковывает связанную копию среды выполнения AIR в программе для Android, когда упаковывает приложение с заданной целью apk-debug Чтобы с помощью ADT создать APK, использующий внешнюю среду выполнения, установите для переменной среды AIR_ANDROID_SHARED_RUNTIME значение true.

На платформе Android приложения должны получить разрешение на доступ к Интернету, чтобы установить соединение с компьютером, на котором запущен отладчик. См. раздел «Разрешения Android».

Создание пакета APK для использования на эмуляторе Android

На эмуляторе Android можно использовать отладочный пакет APK вместо пакета с рабочим режимом. Создать пакет APK с рабочим режимом для эмулятора можно с помощью команды ADT package. При этом следует установить тип целевой платформы apk-emulator:

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

В данном примере предполагается, что путь к инструменту ADT указан в определении пути оболочки командной строки. (Инструкции см. в разделе «Переменные среды Path».)

Создание пакета APK из файла AIR или AIRI

Пакет APK можно создать непосредственно на основе существующего файла AIR или AIRI:

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

В файле AIR в дескрипторе приложения должно быть указано пространство имен AIR 2.5 или более поздней версии.

Создание пакета APK для платформы Android x86

Начиная с AIR 14, аргумент -arch можно использовать с целью упаковки APK для платформы Android x86. Например:

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