AIR for Android + FlashDevelop

310 views
Skip to first unread message

Roma Oskolkov

unread,
Oct 18, 2010, 9:38:29 AM10/18/10
to ruflash
Всем привет,

Скажите пожалуйста, пробовал ли кто создавать AIR-приложения для Андроида, используя FlashDevelop?

Я нашел на форуме Flashdevelop project-template с модифицированным .bat файлом для упаковки.
Он подписывает приложение сертификатом, далее пакует его в .apk, ставит AIR runtime на работащий Android Virual Device и далее ставит приложение.

Но...
Сперва я получаю сообщение:
Warning: Application has not specified its permission requirements in application.xml

(Мой application.xml имеет два необходимых вроде как параметра
<application xmlns="http://ns.adobe.com/air/application/2.5">
и
<supportedProfiles>mobileDevice</supportedProfiles>)


Потом получаю

Failure [INSTALL_FAILED_INVALID_APK]


Не могу найти решения проблемы.
Буду благодарен за помощь.


kuril

unread,
Oct 18, 2010, 10:14:30 AM10/18/10
to ruFlash

> Warning: Application has not specified its permission requirements in
> application.xml
>
> (Мой application.xml имеет два необходимых вроде как параметра
> <application xmlns="http://ns.adobe.com/air/application/2.5">
> и
> <supportedProfiles>mobileDevice</supportedProfiles>)

Может быть не хватает Android permissions, которые в манифесте у
нативных андроид приложений указываются, что-то типа того:
http://corlan.org/2010/08/30/about-air-android-permissions/

Roma Oskolkov

unread,
Oct 18, 2010, 10:31:54 AM10/18/10
to ruf...@googlegroups.com
Спасибо!

Да, теперь Warning исчез.

Но сновап роисходит Failurе но уже по другой причине:
[INSTALL_PARSE_FAILED_MANIFEST_MALFORMED]

kuril

unread,
Oct 18, 2010, 10:54:28 AM10/18/10
to ruFlash

> Но сновап роисходит Failurе но уже по другой причине:
> [INSTALL_PARSE_FAILED_MANIFEST_MALFORMED]

Похоже на то, что версия приложения не подходит под версию девайса на
которую устанавливается, более подробно что там происходит надо
смотреть logcat в adb http://developer.android.com/guide/developing/tools/adb.html

Roma Oskolkov

unread,
Oct 18, 2010, 11:02:43 AM10/18/10
to ruf...@googlegroups.com
Спасибо, почитаю.

У меня тут еще один ламерский вопрос.
Постоянно встречаю разные выражения для запуска в коммандной строке.
Вроде
abd install и т.д.

Но как и где вызвать эту коммандную строку? Чтобы через нее работать.

Alexander Negoda

unread,
Oct 18, 2010, 11:06:34 AM10/18/10
to ruf...@googlegroups.com

Но как и где вызвать эту коммандную строку? Чтобы через нее работать.


Пуск - выполнить -  cmd (для венды)

Roma Oskolkov

unread,
Oct 18, 2010, 11:36:03 AM10/18/10
to ruf...@googlegroups.com
Ну где cmd я знаю :) Но а что дальше с ней делать?

Не буду же я сразу в нее писать команды, она ничего не поймет:

Microsoft Windows [Version 6.1.7600]
(c) Корпорация Майкрософт (Microsoft Corp.), 2009. Все права защищены.

C:\Users\roma>adb install blahblah.apk
"adb" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.




Flop Serg

unread,
Oct 18, 2010, 11:38:43 AM10/18/10
to ruf...@googlegroups.com
>
> C:\Users\roma>adb install blahblah.apk
> "adb" не является внутренней или внешней
> командой, исполняемой программой или пакетным файлом.
>
)))
а если зайти в папачку с adb.exe - оно сработает ))

Oleg Dolya

unread,
Oct 18, 2010, 11:53:12 AM10/18/10
to ruf...@googlegroups.com
А "папочка с adb" - это подпапка tools в папке куда установлен андроидный sdk

Roma Oskolkov

unread,
Oct 18, 2010, 12:20:19 PM10/18/10
to ruf...@googlegroups.com
А есть какой-то способ сразу её открыть «от имени» нужной директории?
Это же самоубийство каждый раз после старта «находить» тебе нужный путь, набирая по двадцать раз всякие cd  и т.п.
А если потом не дай бог закроешь её — заново всё.

Жуткий вообще инструмент.

ign

unread,
Oct 18, 2010, 12:22:51 PM10/18/10
to ruf...@googlegroups.com
можно объявить переменную окружения в системе.

19 октября 2010 г. 0:20 пользователь Roma Oskolkov
<r.osk...@gmail.com> написал:

ign

unread,
Oct 18, 2010, 12:25:35 PM10/18/10
to ruf...@googlegroups.com
Вот здесь об этом можно почитать:
http://en.wikipedia.org/wiki/Environment_variable

Alexander Negoda

unread,
Oct 18, 2010, 12:45:01 PM10/18/10
to ruf...@googlegroups.com


18 октября 2010 г. 20:20 пользователь Roma Oskolkov <r.osk...@gmail.com> написал:

А есть какой-то способ сразу её открыть «от имени» нужной директории?
Это же самоубийство каждый раз после старта «находить» тебе нужный путь, набирая по двадцать раз всякие cd  и т.п.
А если потом не дай бог закроешь её — заново всё.


Сделай файл с расширением start.bat в папке с  adb и напишу в нём cmd.
При запуске этого файла сразу будешь находиться в нужной тебе папке ;)

Roma Oskolkov

unread,
Oct 18, 2010, 1:51:38 PM10/18/10
to ruf...@googlegroups.com
«Сделай файл с расширением start.bat в папке с  adb и напишу в нём cmd»

О, спасибо, так гораздо удобнее :)

Олег Галабурда

unread,
Oct 18, 2010, 1:59:51 PM10/18/10
to ruf...@googlegroups.com
> набирая по двадцать раз всякие cd  и т.п.

Панель управления - Система - Дополнительно - кнопка внизу "Переменные среды"
Внизу список "Системные переменные", выделяете переменную Path и жмёте
"Изменить".
Там в конце вставляете точку с запятой и путь к папке где лежат EXE'шники.
После этого в любой папке можете набирать имя самой программы не
указывая пути к ней.

--
Oleg Galaburda
http://blog.actualwave.com/
http://jsinterface.googlecode.com/
http://guibuilder.org/

Roma Oskolkov

unread,
Oct 18, 2010, 2:17:55 PM10/18/10
to ruf...@googlegroups.com
Врубил я logcat и смотрю что там происходит при установке.

Да, был там отловлен соответсвующий месседж:

D/PackageParser(    58): Scanning package: /data/app/vmdl18521.tmp
W/PackageParser(   58): /data/app/vmdl18521.tmp (at Binary XML file line#50): <activity> does not specify android:name

В application.xml в том месте действительно был паразитический пустой нод <activity></activity>

Я его удалил.
Снова упаковываю.

В одном окне опять возвращается:
Failure [INSTALL_FAILED_INVALID_APK]


В logcat:

D/AndroidRuntime(  258): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<<
D/AndroidRuntime(  258): CheckJNI is ON
D/AndroidRuntime(  258): --- registering native functions ---
D/dalvikvm(  244): GC_EXPLICIT freed 344 objects / 20552 bytes in 115ms
D/PackageParser(   58): Scanning package: /data/app/vmdl18522.tmp
D/PackageManager(   58): Scanning package air.Nvigatr
E/PackageManager(   58): Package air.Nvigatr has mismatched uid: 10033 on disk,
10034 in settings
I/PackageManager(   58): /data/app/air.Nvigatr-1.apk changed; unpacking
W/PackageManager(   58): Native ABI mismatch from package file
W/PackageManager(   58): Package couldn't be installed in /data/app/air.Nvigatr-
1.apk
D/dalvikvm(   58): GC_EXPLICIT freed 3672 objects / 222944 bytes in 157ms
D/AndroidRuntime(  258): Shutting down VM
D/jdwp    (  258): adbd disconnected
I/AndroidRuntime(  258): NOTE: attach of thread 'Binder Thread #3' failed
D/SntpClient(   58): request time failed: java.net.SocketException: Address fami
ly not supported by protocol
D/SntpClient(   58): request time failed: java.net.SocketException: Address fami
ly not supported by protocol


То-есть проблема здесь она:
E/PackageManager(   58): Package air.Nvigatr has mismatched uid: 10033 on disk,
10034 in settings

Гуглятся на эту тему какие-то вопросы без ответов по форумам и прочие обрывки.


Я одного не могу понять — какого черта Адоби и Гугл так хвалятся Эйр рантаймом на Андроиде, если всё еще до такой степени чудовищно сыро, и приходиться так е*ать себе мозг, только чтоб установить приложение в стиле Hello World. А дальше что будет тебя ждать когда начнешь уже делать конкретные вещи... Мда.



Flop Serg

unread,
Oct 18, 2010, 2:24:12 PM10/18/10
to ruf...@googlegroups.com
>
> Я одного не могу понять -- какого черта Адоби и Гугл так хвалятся Эйр

> рантаймом на Андроиде, если всё еще до такой степени чудовищно сыро, и
> приходиться так е*ать себе мозг, только чтоб установить приложение в стиле
> Hello World. А дальше что будет тебя ждать когда начнешь уже делать
> конкретные вещи... Мда.
>
ибо пока все бета
когданить будет все работать не сцы
ты первый андроед видел??? им тоже хвалились много
хотя небыло ни одного девайса ни нормальной среды разработки

так вот то что им хвалятся - стимулирует разработчикоф
а там много чего опенсорс

Roma Oskolkov

unread,
Oct 18, 2010, 2:31:06 PM10/18/10
to ruf...@googlegroups.com
Всё равно уже немало AIR-приложений на Маркете.
В том числе такие которые демонстрируют работы с разнгыми сенсорами, Акселерометром, камерой и прочим.
То-есть всё же работает каким-то образом...

И ощущение что работает это лишь через официальный Packager который идет в Flash CS5.

Какой-то саботаж против бесплатного опенсурсного софта (типа ФлешДевелопа).

Alexander Negoda

unread,
Oct 18, 2010, 2:59:28 PM10/18/10
to ruf...@googlegroups.com

Какой-то саботаж против бесплатного опенсурсного софта (типа ФлешДевелопа).


Странно. Почему у меня получилось сделать хеловорд в блокноте и без всяких проблем. Причём в линуксе. Причём пару-тройку месяцев назад. Не думаю, что за это время всё стало только хуже. 
И на флексе агрегатор новостей я тоже делал минут за 15. 

Roma Oskolkov

unread,
Oct 18, 2010, 5:22:05 PM10/18/10
to ruf...@googlegroups.com
Не знаю не знаю.

Может за это время выкатили какие-то nighly билды SDK и поплыло всё.

Roma Oskolkov

unread,
Oct 18, 2010, 6:25:41 PM10/18/10
to ruf...@googlegroups.com
Александр, а вы не могли бы рассказать чем их запаковывали в .apk?

Alexander Negoda

unread,
Oct 18, 2010, 7:39:06 PM10/18/10
to ruf...@googlegroups.com
Александр, а вы не могли бы рассказать чем их запаковывали в .apk?

Дык команда  есть какая-то для этого. На вскидку не помню, но в туториале она есть точно.
Завтра гляну, если сам не найдёшь - сейчас уже глаза слипаются :)

Roma Oskolkov

unread,
Oct 19, 2010, 9:44:15 AM10/19/10
to ruf...@googlegroups.com
В общем подсказал мне добрый человек вот здесь https://prerelease.adobe.com/project/forum/thread.html?cap=e30c51d41e3b4960bc4f1ebd76bee24d&forid={de38c2ef-3575-45b9-9320-f3d03884447d}&topid={53e0b797-59bb-4ba4-8d45-bc25d3ed585b}&tp=3&prr=0&a=added_r

Как оказалось для упаковки в .apk для Эмулятора, нужно пользоваться коммандой apk-debug
Просто apk создаёт релиз, который в Эмуляторе не заработает, а лишь на реальном устройстве.

Приложение установилось на эмулятор, но при запуске тут же вылетает — но уже другая история.

Всем спасибо за помощь!

Roma Oskolkov

unread,
Oct 19, 2010, 12:29:00 PM10/19/10
to ruf...@googlegroups.com
p.s.
Удалил AVD, создал новый, заново поставил air runtime
заново поставил приложение
Заработало :)
Reply all
Reply to author
Forward
0 new messages