Я расскажу о том, как мне удалось добиться работы logcat в связке Android Studio + Huawei при отладке через USB — это мне потребовалось для отладки капризного приложения. Если Вам это интересно, читайте и смотрите далее.
Итак, что я имею:
- смартфон Huawei Honor Pro (Ascend G600/U8950-1)
- интегрированная среда разработки Android Studio 1.2.1.1 (ОС Windows 8.1)
Поставленная выше задача решается в несколько этапов:
Включение логов в Huawei
Процедура разблокировки логов в Huawei описана в [2] и [3].
Необходимо набрать на клавиатуре смартфона в режиме набора номера код *#*#2846579#*#*
,
после чего открывается доступ в сервисное меню смартфона (смартфон входит в режим обслуживания (Engineering mode)), в котором выбираем пункт меню ProjectMenu,
затем — Background Setting
затем Log setting
.
В меню LogSetting
выбираем пункт Log switch и отмечаем
,
а в пункте Log level setting указываем требуемый приоритет (например, DEBUG)
.
Затем выходим из меню нажатиями кнопки НАЗАД.
После этого перезагружаем телефон.
Примечание.
В [3] указывается, что код *#*#2846579#*#* «подходит почти всем моделям Huawei«, а в [2] — «is stated for an Ideos X3 and is tested at a Honor U8860«, «Works on Huawei P7-L07«, «Works on Huawei Ascend Y300«. В [5] для Huawei Ascend G7 и P7 указан способ входа в сервисное меню с этим кодом: «Szerviz menü: *#*#2846579#*#*«.
Этот код упоминается в Maintenance Manual/Guide при описании процедуры обновления программного обеспечения (Upgrade Process) и/или при описании процедуры выполнения теста (MMI Test) для смартфонов Huawei U8185, U8350, U8500, U8510, U8650, U8950, U8800, U8815, U8860, U9200, U9500, U9510E, U9200, C8650.
Я убедился, что указанный код работает на смартфоне Huawei U8950-1.
Затем включаем ADB на смартфоне — в меню «Настройки» выбираем пункт «Для разработчиков»
,
а затем — «Отладка по USB«:
.
Если отладка включена, то при подключенном к компьютеру смартфоне пользователь информируется об этом с помощью значка и сообщения:
Подключение смартфона к компьютеру и установка драйверов для ADB
Для возможности работы ADB смартфон должен быть подключен к компьютеру в режиме «Камера (PTP)«:
Протокол Picture Transfer Protocol (PTP) позволяет передавать изображения с цифровой камеры на компьютер или другие периферийные устройства без необходимости установки дополнительных драйверов устройств.
Альтернативой протоколу PTP является его расширение — протокол Media Transfer Protocol (MTP), разработанный Microsoft. Этот протокол предназначен для передачи музыкальных файлов на цифровые аудиоплейеры и медиафайлов на портативные медиаплейеры.
Подключаем смартфон к USB-порту компьютера.
Теперь необходимо установить драйвера ADB (Android Debug Bridge) Interface для смартфона.
Процедура установки драйверов описана в [1]. Она заключается в следующих шагах:
Сначала необходимо скачать (http://downloadcenter.samsung.com/content/SW/201401/20140121132354500/SAMSUNG_USB_Driver_for_Mobile_Phones_v1.5.33.0.exe, 14,7 Мбайт) и установить драйвера от Samsung. Эти драйвера имеют цифровую подпись:
Затем перезагружаем компьютер.
В Диспетчере устройств (Device Manager) ищем устройство Android:
и выбираем команду обновления драйверов (Update Driver Software)
,
затем выполняем поиск драйверов (Browse my computer for driver software)
и указываем на необходимость выбора драйвера из списка уже установленных на компьютере драйверов (Let me pick from a list of device drivers on my computer)
.
Из открывшегося списка выбираем ADB Interface и указываем драйвер SAMSUNG Android ADB Interface
, соглашаясь с дальнейшими запросами.
После этого смартфон будет отображен в Диспетчере устройств как переносное устройство:
В Проводнике смартфон отображается как цифровая камера:
Если бы мы подключили смартфон по протоколу MTP, то он бы отобразился в Проводнике как плейер:
Команды для логирования
Для вывода информации в журнал можно использовать различные варианты команды [4]
Log.*(тэг, информация) ,
где * — символ, определяющий уровень (приоритет) выводимого сообщения:
v — VERBOSE (низший приоритет)
d — DEBUG — отладка
i — INFO — информация
w — WARN — предупреждение
e — ERROR — ошибка
тэг — строка, указывающую на компонент системы, из которого исходит сообщение;
В [4] рекомендуется заранее декларировать тэг, например, таким образом:
private static final String TAG = «MyActivity»;
информация — строка, содержащая выводимое сообщение
Отладка и просмотр логов
После подключения смартфона к компьютеру и запуска среды Android Studio в нижней панели во вкладке logcat отображаются сообщения из журналов:
Как видно из скриншота, также отображается тип подключенного смартфона (HUAWEI U8950-1) и версия его операционной системы (Android 4.0.4 (API 15)).
Источники информации:
[1] https://forums.oneplus.net/threads/install-adb-drivers-for-windows-8-1-64-bits.51264/
[2] http://stackoverflow.com/questions/2250112/why-doesnt-logcat-show-anything-in-my-android
[3] http://habrahabr.ru/post/137560/
[4] http://developer.android.com/reference/android/util/Log.html
[5] http://logout.hu/blog/porterocka/index.html
Не смог подключить к AS Huawei Honor 6. Логи включил как у Вас написано. Драйвер с моего устройства ставиться сам. В диспетчере задач отображается как переносимое устройство. Но Android Stidio v2.1. его не видит, какие бы варианты usb подключения я не выбирал. Что делать? Подскажите. Я в этом деле совсем новичок…(((
Способ не работает с Huawei 4C Pro — показывает интерфейс MTKLogger’а, куда копать не ясно