Приболел, потому на выходных практически безвылазно сидел дома, воспользовавшись большим объёмом свободного времени для того, чтобы с удовольствием поразбираться с новым Flash CS5.5, AIR for Android и AIR for iOS.
Adobe максимально унифицировали процесс создания Flash-приложений для Android и iOS, и предлагают нам попробовать это во Flash CS5.5. Положив перед собой свои HTC Wildfire (Android 2.2.1) и iPod Touch 4g (iOS 4.3.3) приступил к попыткам наваять какое-нибудь простейшее приложение а-ля “погонять шарик по экрану при помощи акселерометра” из темплейтов.
Дай, думаю, начну с Андроида, потому что ведь гугл, опенсорс, гостеприимное коммьюнити и вообще не эппл.
Android
Установил SDK, побаловался с виртуальными машинками (но подумал, мол, зачем они мне, если я могу сразу на телефон заливать и пробовать), обновил на компьютере AIR SDK до последней текущей версии 2.7, сгенерировал сертификат, наваял простенькое приложеньичко во флэше и… не смог его установить. Ошибка первая: “INSTALL_FAILED_INSUFFICIENT_STORAGE“. Оказалось, что это – крайне распространённая проблема, связанная с… эээ… чем-то там. В общем, провозившись несколько часов, обошёл её используя Android Sideload Wonder Machine. Кстати, когда прописывал в манифест.хмл то, что рекомендуют по ссылке – телефон просто перезагружался в процессе инсталляции пакета.
Установил. Ура! Запускаю приложение, и телефон радостно сообщает мне, что надо бы AIR Runtime поставить. Ставь, конечно, дружище, – отвечаю. И… фиг. Телефон ломится на Android Market, а затем отвечает, что объект недоступен и не существует. Лаааааадно. Скачаю-ка я air2.7.apk из инета и поставлю руками. Найденный мной Air Runtime 2.7, равно как и 2.6 ругнулись на INSTALL_FAILED_INVALID_APK и не установились, зато поставился 2.5. Итак, открываю на телефоне своё приложение, вижу чёрный экран и жду. Жду. Чайку попил. Ещё подождал. Чёрный экран не спешит смениться на что-то более человеческое. Может, проблема в том, что приложение собрано с AIR 2.7, а на телефоне – AIR 2.5? Удаляю приложение на телефоне, и пытаюсь собрать его при помощи ранней версии AIR. Самым ранним, что нашлось на компьютере, правда, был только AIR 2.6. Собрал в нём, заливаю на телефон. Ах ети ж твою мать! “INSTALL_FAILED_INVALID_APK“, а в логе телефона: “Package air.Test1 has mismatched uid: 10036 on disk, 10039 in settings“. Читал-читал невнятные описания в гугле, забил, сделал полный ресет телефона. Очистился весь мой прогресс в Энгри Бёрдз, конечно, но было плевать, ибо был это уже второй день возни, крайне, увы, малорезультатной. Приложение, должен признать, залилось, но всё равно не заработало, показывая тот же чёрный экран (кстати, ещё для чистоты эксперимента всё же попробую сегодня вечерком собрать приложение в AIR2.5, и посмотреть, что скажет телефон на него). Кстати, при попытке вручную с ПК выбрать в андроид маркете AIR для установки на телефон, получил в нос сообщением о том, что мой телефон не поддерживается.

В общем, я в гневе и недоволен. Нуууу, думаю, если даже с андроидом не заладилось, то про iOS и думать нечего. Но да ладно, мол, попробую.
iOS
Имеется iPod Touch 4g с iOS 4.3.3 на борту и выполненным джейлбрейком. Пока не получил от Apple своего официального сертификата разработчика, качаю “тестовый” сертификат, при помощи Cydia ставлю программку AppSync, делаю во флэше Publish той же самой программки, что пытался запустить на андроиде. Через iTunes заливаю получившийся .ipa на iPod, и со скептичной ухмылкой пытаюсь запустить получившееся приложение.
Так а оно берёт и запускается! Сразу, без вопросов, без каких-либо проблем. Бац – и работает. Шарик задорно катается по экрану, акселерометр послушно определяет угол наклона девайса, и вообще всё шикарно.
В общем, неоднозначные какие-то впечатления. Я, наоборот, основные надежды возлагал на андроид. Думал, что запуск Flash-приложения на айфоне – это нереально сложно; а оно вот как оказалось.

UPD1: Умные люди подсказывают, что ”INSTALL_FAILED_INSUFFICIENT_STORAGE“, как бы удивительно это ни звучало, связано таки именно с недостатком свободного места. Но ведь, чёрт побери, это же всего тридцать килобайт! Я не верю, что после удаления Skype у меня не освободилось жалких тридцать килобайт ROM.
UPD2: Итак, эксперимент проведён. Написанное в Adobe Flash CS5 с AIR 2.5 приложение всё равно отозвалось чёрным экраном на моём Wildfire. Ладно, пока что отложим Android в сторону.
UPD3: Те же умные люди подсказывают, что скачивание Adobe AIR просто заблокировано на Android Market для Украины.
Filed under:
ATMTA by SeeD