02.28
1. Необходимые файлы.
Adobe AIR SDK 2.5: (depositfiles.com)
Android SDK: Свежие весии на android.com (depositfiles: sdk r09, sdk r10)
AIR Runtime Android: (один из них нужен, если будете устанавлиавать приложение на реальное устройство)
com.adobe.air.v2.5.0.1660.apk.zip
com.adobe.air.v2.5.1.1774.apk.zip
com.adobe.air.v2.6.apk.zip
AIR Runtime Android Emulator Froyo (для эмулятора):
Runtime_Emulator_Froyo_20100930.zip
Исходники приложения (FlashDevelop проект, примеры .bat-скриптов упаковки и устновки apk и скрипты apache ant): AF4droid.sources
2. Установка.
. Распаковываем Adobe AIR SDK 2.5 прямо в папку с flex sdk (я использовал версии 3.4 и 4.1 – обе успешно:) )
. Запускаем installer_r10-windows.exe.
. Если вас встречает такой скрин,

то вам нужко скачать Java JDK (depositfiles: JDK 6.24, win32 jdk-6u24-windows-i586.exe.zip).
. Next, Next.. Start SDK Manager:

. На следющем скрине выбираем пункты которые надо установить. Я добавил USB driver и выбрал sdk 2.2. Позже всегда можно доустановить необходимое. (все будет выкачиваться с сети)

. Ждем установки, потом появится “Done. 5 Packages Installed.” и жмем Close.
. Теперь слева выбираем Virtual Devices и жмем New.

. Выбираем необходимый API и другие настройки и жмём Create AVD:

. После успешного создания выбираем эмулятор в списке и кликаем Start. Откроется окно эмулятора. Процесс запуска очень не спешен и занимает некоторое время.
. Пока эмулятор запускается, компилируем наше приложение. Собирается оно аналогично простому air-приложению за исключением:
- application.xml:
<?xml version="1.0" encoding="utf-8" ?>
<application xmlns="http://ns.adobe.com/air/application/2.5">
<id>AF4droid</id>
<name>AF4_droid</name>
<versionNumber>1.0</versionNumber>
<supportedProfiles>mobileDevice</supportedProfiles>
<filename>AF4droid</filename>
<description></description>
<copyright></copyright>
<initialWindow>
<title>AF4_droid</title>
<content>AF4droid.swf</content>
<visible>true</visible>
</initialWindow>
<!--<icon>
<image72x72>icons/icon_72.png</image72x72>
</icon>-->
</application>1. versionNumber вместо version;
2. иконка имеер размер 72х72 пикселя;
3. добавлен тэг supportedProfiles. - При сборке APK-файла добавляется директива -target apk сразу вслед за -package
Внимание: для приложений для эмулятора использовать надо -target apk-debug
. Создаем простое приложение и билд-скрипт для apache ant. Перепроверьте flexSDK, androidSDK и другие пути.
Main.mxml:
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<s:Button label="My Button" />
</s:Application>
build.properties:
dir.src =${basedir}/src
dir.lib =${basedir}/lib
dir.deploy = ${basedir}/bin
build.isDebug = true
ADL=${FLEX_HOME}/bin/adl.exe
ADT.JAR=${FLEX_HOME}/lib/adt.jar
APP_DESCRIPTOR = application.xml
STORETYPE = pkcs12
KEYSTORE = AF4droid.pfx
APP_ROOT_FILE = AF4droid.swf
AIR_FILE = ${basedir}/apk/AF4droid.apk
buildAPK.xml:
<project name="Android AIR" basedir="." default="BuildAPK">
<property file="build.properties" />
<taskdef resource="flexTasks.tasks" classpath="${dir.lib}/flexTasks.jar" />
<target name="BuildAPK">
<antcall target="Compile" />
<antcall target="Package" />
</target>
<target name="Compile">
<mxmlc file="${dir.src}/Main.mxml"
output="${dir.deploy}/AF4droid.swf"
incremental="true"
debug="${build.isDebug}"
warnings="true"
strict="true"
locale="en_US"
show-unused-type-selector-warnings="false"
target-player="10.0.0"
optimize="true"
use-network="false"
configname="air"
>
<load-config filename="${FLEX_HOME}/frameworks/air-config.xml"/>
<source-path path-element="${dir.src}"/>
<default-size width="800" height="600" />
</mxmlc>
<echo>Building App finished successfully!</echo>
</target>
<target name="Package" description="">
<delete dir="${basedir}/apk"/>
<mkdir dir="${basedir}/apk"/>
<java jar="${ADT.JAR}" fork="true" failonerror="true">
<arg value="-package"/>
<arg value="-target"/>
<arg value="apk-debug"/>
<arg value="-storetype"/>
<arg value="${STORETYPE}"/>
<arg value="-keystore"/>
<arg value="${KEYSTORE}"/>
<arg value="-storepass"/>
<arg value="fd"/>
<arg value="${AIR_FILE}"/>
<arg value="${APP_DESCRIPTOR}"/>
<arg value="-C"/>
<arg value="${dir.deploy}"/>
<arg value="${APP_ROOT_FILE}"/>
</java>
<echo>AIR app packaging finished. AIR file: ${AIR_FILE}</echo>
</target>
</project>
Результатом выполнения скрипта будет файл AF4droid.apk, который и будет устанавливаться на устройства.
. Вернемсяя к нашему эмулятору. Успешно запущенный эмулятор выглядит так:

.Теперь нам надо установить на эмулятор AIR Runtime.
Общий вид команды установки APK-файлов:
adb нахдится в android-sdk\platform-tools. Можете добавить путь к этой папке в системные переменные операционно системы.
ключ -e указывает что комманда должна выполняться на эмуляторе;
ключ -r указывает что приложение должно быть переустановленно в случае, если оно уже было установленно ранее.
. Копируем файл Runtime_Emulator_Froyo_20100930.apk в корень D:/ и устанавливаем его на виртуальное устройство:
Если установка успешна, то в Settings/Applications/Manage Applications/ появится Adobe AIR.

. Теперь надо установить наш APK-файл. Копируем его в корень D:/ (либо укажите полный путь к нему)
. В меню появится наше приложение:

. И, собственно, само приложение ![]()

Пояснения:
Исходный код приложения:
Т.к. сертификат уже сгенерирован (со стандартным паролем fd), то для создания APK достаточно запустить ant-скрипт, который скомпилирует приложение и упакует APK.
Файлы InstallAPK.bat и PackageAPK.bat приведены для ознакомления.



Я ничего не могу скачать с deposita.
А статья хорошая, пробовал на реальных устройствах, еще до статьи…ооо ужас, с этими версиями компоновщиков в apk.