16 января 2018

Xiaomi и Huawei для разработки приложений

Когда в один из предновогодних дней Дед Мороз курьер принес в офис Xiaomi Mi Max 2 и Huawei P10 lite, я занимался отладкой разрабатываемого приложения. Поэтому первое, что я попытался сделать с двумя аппаратами, — продолжить разработку на них. Но это оказалось не так-то просто.

Xiaomi: SIM-карта и китайский IP

Начиналось все довольно безоблачно: привычные восемь тапов по версии MIUI, и вот уже открыто меню «Для разработчиков».

Ставлю флажок «Отладка по USB». Краем глаза отмечаю, что есть еще «Установка через USB».

Такого я раньше не видел (до этого на разработке у меня были аппараты с «девелоперкой» MIUI на Android 5.*). Пытаюсь запустить приложение на смартфоне. Ожидаемо выдается ошибка. Значит, тот флажок был не зря. ОК, возвращаюсь в настройки и пытаюсь его поставить. Но не тут-то было. Для установки этого флажка в настройках надо сначала войти в Mi-аккаунт!

Переставлять рабочую SIM-карту из другого аппарата лень, поэтому я регистрирую аккаунт по email. Еще раз пытаюсь установить флажок «Установка через USB», но снова неудачно. Необходима обязательная активация SIM-карты.

Ладно, пусть будет SIM-карта. Переставляю ее из другого рабочего телефона, завожу новый Mi-аккаунт, включаю заветный флажок. Система думает…

… и выдает еще одно сообщение об ошибке: «The device is temporarily restricted». После непродолжительного гугления оказывается, что проблема старая и известная, проявляется уже давно и на разных аппаратах:

В обсуждении были разные советы, как победить данную проблему, например, кому-то помогло отключение оптимизации MIUI. Я попробовал — эффекта никакого. Но самым действенным был другой совет: загрузить приложение FlexVPN и, запустив его, выбрать точкой приземления Китай. Я так и сделал: запустил и выбрал Шэньчжэнь.

И voila! Заветный флажок установился, и я смог наконец-то начать разработку приложений на смартфоне Xiaomi Mi Max 2.

Huawei: секретное меню

Первое впечатление от Huawei было совершенно противоположным: никаких обязательных аккаунтов от китайского вендора, достаточно восемь раз тапнуть по номеру сборки и в появившемся меню разработчика установить флажок «Отладка по USB».

Но радость моя была недолгой. В тот момент я разбирался с обработкой сложного запроса. Было непонятно, то ли сервер присылает некорректные данные, то ли само приложение неправильно их обрабатывает. Заглянув по привычке в отладочный лог (а все запросы в режиме отладки пишутся туда, как и ответы сервера на них), я не обнаружил там ничего. Совсем ничего. Ни логов запросов, ни информации об ошибках, которые удалось успешно обработать, ни каких-либо других отладочных сообщений.

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

На помощь снова пришел Google.

Оказалось, что на аппаратах Huawei есть секретное меню, вызываемое комбинацией символов

*#*#2846579#*#*

в «звонилке».

Несколько переходов по вложенным подменю, выставление секретного флажка…

И вот наконец-то полноценная разработка на Huawei P10 lite тоже возможна!

Заключение

Оба аппарата оставили после себя двойственное впечатление. С одной стороны — приятные в использовании, очень шустрые (Huawei просто поразил скоростью запуска приложений). С другой — очень странные проблемы при начале разработки. За несколько лет через мои руки прошли аппараты от пары десятков вендоров, начиная от Micromax и Highscreen и заканчивая Samsung и Google/LG, но с подобными сложностями я столкнулся впервые.

Читайте также