вторник, 13 ноября 2012 г.

Ошибка "unexpected at this time" при установке boost 1.52

Взялся устанавливать свежий boost 1.52. При попытке собрать bjam и b2 командой "...boost_1_52_0\tools\build\v2\engine\build.bat" вылетела ошибка
C:\>D:\libs\boost_1_52_0\tools\build\v2\engine\build.bat
\Git\bin";"C:\utils\PuTTY";C:\Program Files (x86)\MiKTeX 2.9\miktex\
bin\;C:\Program Files (x86)\Git\cmd;C:\Program Files\TortoiseSVN\bin" was unexpected at this time.
Что за "was unexpected at this time"?

Решение нашлось здесь. Проблема была в том, что некоторые пути, перечисленные в переменной среды %PATH%, содержали кавычки. При подстановке таких путей в "vcvars32.bat" местами возникало двоековычье :) и батник вылетал. Убрал кавычки во всех путях в %PATH% - boost нормально установился.

Вызов функций Android из Unity3d

Unity3D - мощная система разработки 3D приложений, - поддерживает Android. Документация, к сожалению, очень скудная, да и сам процесс разработки - не сахар... Тем не менее, возможность создать Android-приложение есть.

В целом процесс разработки выглядит так. Вы создаете Android-проект, экспортируете его в jar-файл. Далее, помещаете этот jar файл в директорию проекта Unity: Assets\Plugins\Android\xxx.jar. В эту же директорию кладете AndroidManifest.xml, jar-файлы сторонних библиотек, которые задействованы в вашем проекте и ресурсы (папка res с той же структурой, что в обычном Android-проекте).

Следующий шаг - вызов функций, реализованных на стороне Android, из Unity. Вот на этом вопросе я и хочу остановиться поподробнее, т.к. здесь не все тривиально и есть подводные камни.

воскресенье, 12 августа 2012 г.

Квест: как под Android выдрать кадр из видеофайла средствами FFMpeg и передать его на сторону Java.

Программирование под Android очень часто напоминает настоящий квест. Шаг влево, шаг вправо - и ты попадаешь на минное поле, полное багов, особенностей реализации, девайсо-зависимых проблем и т.п. И так происходит каждый раз, как только начинаешь реализовывать что-нибудь более менее нетривиальное. Вот свежий пример. Потребовалось мне извлекать кадры из видеофайла и показывать их на экране. Казалось бы - что может быть проще?

среда, 14 марта 2012 г.

Идентификаторы Android-контакта: ContactID и LookupKey. Нюансы и баги.

Согласно документации, контакт в Android характеризуется двумя идентификаторами: contactId и lookupKey. Предположим, мы создаем приложение, работающее с определенным контактом. Пример - мое приложение Animated Widget Contact Launcher, которое позволяет создавать для контактов виджеты быстрого доступа. Какой идентификатор контакта нужно хранить в настройках такого виджета - contactId или lookupKey? Или оба? Как правильно создавать ссылку на контакт? Практика показала, что вопрос не тривиален.

среда, 1 февраля 2012 г.

Тестирование Android приложений

Тестирование - тема очень многообразная. Разновидностей тестов масса, методик тестирования тоже, количество разнообразных инструментов просто огромно. Начинающему разобраться не просто. Но за что бороться есть, поскольку грамотная стратегия тестирования существенно улучшает качество приложения.

Данная статья - это каталогизированный набор ссылок по теме тестирования Android приложений, с краткими аннотациями. Я создал его для того, чтобы самому было удобнее разбираться во всем этом материале и выбирать оптимальную стратегию тестирования собственных Android приложений. Надеюсь, этот набор ссылок пригодится и вам.