Страх и ненависть в Нью-Дели или сборка мультипака для arm7 и x86 c Adobe AIR 14 в FB
..У нас был готовый проект, который компилировался только под arm7, 2 набора разных процессоров - arm7 и x86, over 9000 различных устройств, тестовый планшет Samsung Galaxy Tab 3 10.1 на Intel Atom, смартфон HTC One S на arm7, а также текила, ром, ящик пива, Flash Builder 4.7 и бетка AIR 14. Не то что бы это был необходимый запас для разработки. Но если начал собирать различные apk, становится трудно остановиться. Единственное что вызывало у меня опасение - это AIR 14. Нет ничего более беспомощного, безответственного и испорченного, чем адобовские поделки в бете. Я знал, что рано или поздно мы перейдем и на эту дрянь.
- Шаг 1. Скачиваем SDK
Скачиваем air 14 здесь.
Читаем доки.
- Шаг 2. Устанавливаем AIR14 для FB
Ставим SDK в папку C:\Program Files\Adobe\Adobe Flash Builder 4.7 (64 Bit)\eclipse\plugins\com.adobe.flash.compiler_4.7.x.xxxxxx\AIRSDK
Смотрим существует ли в AIRSDK файл \frameworks\libs\player\14.0\playerglobal.swc
В ранних бетках он отсутствовал.
Если нету - качаем здесь, Flash Player 14 Beta Global SWC, переименовываем в playerglobal.swc, создаём в \frameworks\libs\player\ папку 14.0 и копируем туда.
Это необходимо, чтобы обычные пректы (не air и не flex) нормально собирались в FB
- Шаг 3. Шаманство как оно есть
Если попробовать сходу собрать существующий проект (например, нормально работающий на air13) без нового аттрибута -arch, то единственное, что необходимо сделать - это прописать в манифесте версию айра 14.0
и все работает.
Казалось бы - вот он счастье...
Но c -arch не всё так просто.
Читаем док (или догадываемся) и прописываем
Пытаемся собирать и натыкаемся на баги:
Adt ругается на то, что не может писать в файл.
Ок. Делаем пустым поле export
Adt ругается на то, что пути к ресурсам неправильные.
Пробуем прописывать другие пути или даже для теста убираем все ресурсы - просто вылетает без объяснений.
Методом научного тыка я таки победил злой гений индийской разработки.
ИНСТРУКЦИЯ по СБОРКЕ
- В настройках проекта прописываем в качестве выходной папки bin-release-temp
- Если этой папки нет - создаём её.
- Копируем туда ресурсы, которые нужно упаковать вместе с приложением (например, иконки)
- Во время сборки не забываем ставить галочку keep bin-release-temp.
Я постоянно забываю, после сборки эта папка удаляется и я, вспоминая матерей адобовских разрабов, заново собираю проект, т.к. итоговый apk лежал там и успешно удалился вместе с темповой папкой, никуда не скопировавшись.
- Поле export оставляем пустым
- Удаляем галочки у лишних файлов в диалоге упаковки
и прописываем полные пути до ресурсов (тут ничего нового)
- Собираем и молимся индийским богам.
- Забираем apk из bin-release-temp
- PROFIT!!!
- В настройках проекта прописываем в качестве выходной папки bin-release-temp
- Шаг 4. ANE
Про ане ничего не скажу, кроме того, что их нужно пересобирать.
Этим занимались другие люди, но проблем не возникло. Даже если у вас нет исходников, распакуйте ane (это обычный zip) исправьте манифест, скопируйте нужный jar из Android-ARM в ANDROID-x86 и соберите заново с помощью adt
В результате ane должно выглядеть примерно так:
- Шаг 5. Мультипак
Для сборки мултипака гугл рекомендует оставлять android:versionName общим, а android:versionCode менять по определённым правилам.
для air манифеста я сделал так
для ARM7
для x86
собираем 2 разных apk и загружаем в гуглоплей в расширенном режиме.
- Резюме
Хотя описанный процесс и выглядит довольно простым, на поиск этих обходных путей я потратил очень много времени.
Надеюсь моя заметка поможет избежать этого.
- PS Игра стоит свеч, т.к. на тестовом Samsung Galaxy Tab 3 10.1 приложение стало гораздо шустрее.
- PPS Покупайте наших слонов!
https://play.google.com/store/apps/d...games.riotzone
- UPD: Обещанный список топ устройств
Цитата:Samsung Galaxy Tab2 10.1 1467 4.48%
Samsung Galaxy Tab2 7.0 3.36%
Samsung Galaxy S3 3.34%
Samsung Galaxy Note 10.1 3.00%
Samsung Galaxy Tab3 10.1 2.00%
Samsung Galaxy S4 1.90%
SK Telesys ITP-R208W 1.84%
Google Nexus 7 1.74% (?) тут есть как x86, так и арм7
Samsung Galaxy Tab3 7.0 1.62%
TCT Mobile Limited 528 1.61%
Samsung Galaxy Tab3 8.0 1.52%
Samsung Galaxy S2 1.30%
Samsung Galaxy S3 Mini 1.05%
Lenovo Mobile IdeaTab S6000 1.01%
Цитата:ACER
A1 - 830– ducati
B1 - 730HD– vespa
Liquid C1– I1
Iconia One 7– vespatn
ASUS
ZenFone 4– ASUS_T00I
ZenFone 4– ASUS_T00Q
ASUS PadFone mini– ASUS_T00E
ASUS Fonepad 7 LTE– K00Y
ASUS MeMo Pad ME302C– ME302C
Asus MeMO Pad 7– K017
Asus Fonepad 7– K00E
ZenFone 5– ASUS_T00F
Asus Fonepad Note 6– K00G
ASUS Transformer Pad– K010_1
ASUS MeMO Pad 7– K013_1
ASUS Fonepad 7– K00Z
ASUS Transformer Pad– K010
ZenFone 5– ASUS_T00J
ZenFone 6– ASUS_T00G
ASUS MeMO Pad 7– K013
Asus fonepad 7– K012
ASUS MeMO Pad 8– K011
BYD
PT452E– PT452E
SI4301– SI4301
Prestigio PAP5430– PAP5430
Zippers– Zippers
X910– X910
WISKY W032I– W032I
DELL
Venue 7– thunderbird
Venue 8– yellowtail
ECS
Any 303– TR10CD2_2
TA80CA1– TA80CA1
TR10CD3– TR10CD3_1
TR10CD1– TR10CD1_2
Any 303– TR10CD2_3
TR10CD1– TR10CD1_5
TR10CD3– TR10CD3_2
TR10CS1– TR10CS1_8
TR10CD1_P– TR10CD1
TR10CD1– TR10CD1_4
TR10CS1– TR10CS1_7
FOXCONN INTERNATIONAL HOLDINGS LIMITED
XOLO– AZ510
XOLO_X1000– SI1
FUHU
nabi DreamTab HD8 Tablet– DMTAB
GIGABYTE
PMT7787_3G– PMT7787_3G
GOOGLE
Nexus 7– grouper
INTEL
AQ710A– Salitpa
SP - A20i– SP - A20i
AZ210A– noonhill
Xolo_X900– blackbay
Orange avec Intel Inside– AZ210B
Orange San Diego– AZ210A
LENOVO MOBILE
Lenovo K800– mfld_pr2
IdeaTab K2110A - F– K2110A - F
K900– K900
K800– K800
K900– K900_ROW
MOTOROLA
DROID RAZR i– smi
OPENPEAK
CIUS - 7– CIUS - 7
cius– cius
CIUS - 7 - AT– CIUS - 7 - AT
SK TELESYS
Si01BE– Si01BE
Falcon– falcon
Bic camera– Si01BB
SAMSUNG
Galaxy Tab3 10.1– santos103g
Galaxy Tab3 10.1– santos10lte
Galaxy Tab3 10.1– santos10wifi
VESTEL
VP100 + – ephesus
XIAOMI
MI 2A– taurus
ZTE
ZTE V975– redhookbay
p89mini_e2w6 vbox86tp
Да, статистика показывает, что реальных устройств всего около 3%, но все эти устройства новые и их будет всё больше.
Всего комментариев 17
Комментарии
16.06.2014 18:43 | |
А если не FB каким богам молиться?
|
17.06.2014 11:16 | |
Богам Анта)
Сегодня, кстати, попробую запилить антбилд - если всё будет ок - дополню пост ант скриптом. |
17.06.2014 18:55 | |
Цитата:
over 9000 различных устройств
На iOS будет? |
17.06.2014 19:00 | |
Ну это какбы мем)
на иос будет - но позже, там надо выкатываться отполироваными - на андроиде пока полируемся) |
17.06.2014 21:17 | |
А переходить на айр 14 придётся в любом случае из-за проблем с OpenSSL. Иначе гугл забанит.
Приходило такое письмо счастья? Цитата:
One or more of your apps is running an outdated version of OpenSSL, which has multiple security vulnerabilities. You should update OpenSSL as soon as possible. For more information about the most recent security vulnerability in OpenSSL, please see http://www.openssl.org/news/secadv_20140605.txt.
Please note, while it's unclear whether these specific issues affect your application, applications with vulnerabilities that expose users to risk of compromise may be considered “dangerous products” and subject to removal from Google Play. Regards, Google Play Team |
17.06.2014 21:44 | |
Цитата:
А что AIR 14 проблему решает?
По его инфе - будет минорный релиз 8 июля, но апдейты могут быть и раньше. Цитата:
прикол в том, что в каждой следующей бете в течении последних 2х месяцев) они обновляли SSL
а его ломали и ломали |
|
Обновил(-а) Котяра 18.06.2014 в 01:16
|
18.06.2014 14:17 | |
Добавил статистику в пост
|
18.06.2014 20:14 | |
Цитата:
Google Nexus 7 1.74% (?) тут есть как x86, так и арм7
|
18.06.2014 20:16 | |
Котяра, а можно какой-нибудь бенчмарк – насколько стало шустрее? Просто в цифрах, примерно-субъективно.
|
18.06.2014 20:26 | |
Я запускал старлинговский бенчмарк на таб2 и таб3.
Практически везде фпс проседал в 2 раза. Тест на одном и том же устройстве с ключом -arch x86 и без него - не проводил. Попробую что-нибудь соорудить - отпишусь. Но чисто визуально, наше приложение на таб3 тормозило жутко в анимациях, лагало на тачах, на загрузке, а после перекомпиляции стало всё ок. |
|
Обновил(-а) Котяра 18.06.2014 в 20:36
|
18.06.2014 20:34 | |
Цитата:
Нет. Версия 2012 на Tegra 3, версия 2013 - на snapdragon s4 pro.
Nexus 7– grouper + попадались статьи-анонсы какие-то. http://www.4tablet-pc.net/news/4546-...bay-trail.html http://bgr.com/2014/03/10/nexus-8-sp...bit-processor/ http://www.pocket-lint.com/news/1194...ntel-processor Но я не особо спорю. Мопед не мой. |
Последние записи от Котяра
- Страх и ненависть в Нью-Дели или сборка мультипака для arm7 и x86 c Adobe AIR 14 в FB (16.06.2014)
- Нативный EventDispatcher в старлинге (27.11.2013)
- Нужны ошибки компиляции при создании экземпляра синглетона извне? Запросто! (13.09.2013)
- ARP - новый формат упаковки ресурсов (07.02.2013)
- DropShadowFilter и GlowFilter в Starling (16.01.2013)