TagFix

MultiDex и java.lang.NoClassDefFoundError

Как правило, во время разработки я использую для тестирования приложений эмулятор Genymotion. Это удобный и быстрый инструмент, и он мне нравится куда больше того, что предлагает Google (хотя со времен незапускающихся эмуляторов на Eclipse многое изменилось, и я слышал, что дефолтные эмуляторы сейчас вполне ничего, но проверить не хватает времени), однако у него есть ряд ограничений. Так, для тестирования библиотек Google Cloud Messaging его нельзя использовать, потому что на нем отсутствуют библиотеки Google Play Services.

Другим моим постоянным тестовым устройством является Nexus 7 2013 — с ним все просто: это мой рабочий планшет, с кастомным ядром и рутованной прошивкой, но с ней все в порядке — это чистый Android Marshmallow (на текущий момент). На работе есть и другие устройства, и я сам ими довольно редко пользуюсь (Google Play Services не часто используется в рабочих проектах), но в этот раз мне пришлось изменить своим традициям.

При запуске рабочего приложения PlentyFi Social на Galaxy Nexus (Jelly Bean), я столкнулся с такой ошибкой

Немного покурив GitHub проекта, я выяснил, что эта проблема встречается довольно редко, официального решения по ней я не нашел, так что пришлось мне самому взяться за исследования.

Continue reading

Настройка фокуса Xiaomi Yi в буквах

Всем, кто собирается купить китайскую технику типа Xiaomi или Meizu, могу сказать так: еще не было ни одной покупки, которая шла бы по принципу Apple устройств — распечатал, достал, включил — и все. Нет, с каждым из китайских устройств у меня была небольшая история по доведению до ума.

На Meizu MX4, купленный в декабре 2014 года, мне пришлось настраивать Google Play и все с этим связанное — по умолчанию на этих устройствах Google сервисы не установлены. Правда, откровенно говоря, мне пришлось покопать совсем немного форумов, чтобы понять, что это легко исправимо (в установленном AppStore найти приложение Google Installer — и все). Хотя с другой стороны, пусть и немного геморроя, но все же он был.

Continue reading