Creating an APK package
To create
an APK package, use the ADT package command, setting the target type
to apk for release builds, apk-debug for debug builds,
or apk-emulator for release-mode builds for running on an
emulator.
adt -package
-target apk
-storetype pkcs12 -keystore ../codesign.p12
myApp.apk
myApp-app.xml
myApp.swf icons
Type the entire command on a single
line; line breaks in the above example are only present to make
it easier to read. Also, the example assumes that the path to the
ADT tool is on your command-line shell’s path definition. (See Path environment variables for help.)
You must run the command from
the directory containing the application files. The application
files in the example are myApp-app.xml (the application descriptor
file), myApp.swf, and an icons directory.
When you run the
command as shown, ADT will prompt you for the keystore password.
(The password characters you type are not displayed; just press
Enter when you are done typing.)
Note: By default, all AIR Android
applications have the air. prefix in the package name.
To opt out of this default behavior, set the environment variable, AIR_NOANDROIDFLAIR to true ,
on your computer.
Creating an APK package for an application that uses native extensions
To create an APK package for an
application that uses native extensions, add the -extdir option
in addition to the normal packaging options. In case of multiple
ANEs that share resources/libraries, the ADT only picks a single resource/library
and ignores other duplicate entries before issuing a warning. This
option specifies the directory that contains the ANE files that
the application uses. For example:
adt -package
-target apk
-storetype pkcs12 -keystore ../codesign.p12
myApp.apk
myApp-app.xml
-extdir extensionsDir
myApp.swf icons
Creating an APK package that includes its own version of the AIR runtime
To create an APK package that contains
both the application and a captive version of the AIR runtime, use
the apk-captive-runtime target. This option specifies
the directory that contains the ANE files that the application uses.
For example:
adt -package
-target apk-captive-runtime
-storetype pkcs12 -keystore ../codesign.p12
myApp.apk
myApp-app.xml
myApp.swf icons
Possible drawbacks of this technique
include:
Note: When
you bundle the runtime, ADT adds the INTERNET and BROADCAST_STICKY permissions
to your application. These permissions are required by the AIR runtime.
Creating a debug APK package
To create
a version of the app that you can use with a debugger, use apk-debug as
the target and specify connection options:
adt -package
-target apk-debug
-connect 192.168.43.45
-storetype pkcs12 -keystore ../codesign.p12
myApp.apk
myApp-app.xml
myApp.swf icons
The -connect flag tells the AIR runtime
on the device where to connect to a remote debugger over the network.
To debug over USB, you must specify the -listen flag
instead, specifying the TCP port to use for the debug connection:
adt -package
-target apk-debug
-listen 7936
-storetype pkcs12 -keystore ../codesign.p12
myApp.apk
myApp-app.xml
myApp.swf icons
For most debugging features to work,
you must also compile the application SWFs and SWCs with debugging
enabled. See Debugger connection options for a full description of the -connect and -listen flags.
Note: By
default, ADT packages a captive copy of the AIR runtime with your
Android app while packaging app with apk-debug target. To force
ADT to create an APK that uses an external runtime, set the AIR_ANDROID_SHARED_RUNTIME environment
variable to true.
On Android, the app
must also have permission to access the Internet in order for it
to connect to the computer running the debugger over the network.
See Android permissions.
Creating an APK package for use on an Android emulator
You
can use a debug APK package on an Android emulator, but not a release mode
package. To create a release mode APK package for use on an emulator, use
the ADT package command, setting the target type to apk-emulator :
adt -package -target apk-emulator -storetype pkcs12 -keystore ../codesign.p12 myApp.apk myApp-app.xml myApp.swf icons
The
example assumes that the path to the ADT tool is on your command-line shell’s
path definition. (See Path environment variables for help.)
Creating an APK package from an AIR or AIRI file
You
can create an APK package directly from an existing AIR or AIRI
file:
adt -target apk -storetype pkcs12 -keystore ../codesign.p12 myApp.apk myApp.air
The
AIR file must use the AIR 2.5 (or later) namespace in the application descriptor
file.
Creating an APK package for the Android x86 platform
Begining
AIR 14, the argument, -arch, can be used to package
an APK for the Android x86 platform. For example:
adt -package
-target apk-debug
-listen 7936
-arch x86
-storetype pkcs12 -keystore ../codesign.p12
myApp.apk
myApp-app.xml
myApp.swf icons