Подключение реальных android-устройств в Eclipse
Эта простая инструкция поможет подключить обычные физические android-устройства в режиме USB debugging mode к среде разработки Eclipse в Ubuntu. Тестирование приложения на реальном устройстве гораздо продуктивнее и эта инструкция расскажет как сделать это на устройстве, без дополнительных утомительных действий. Достаточно просто запустить приложение в среде разработки Eclipse и оно автоматически стартует на android-устройстве. С выходом новых карт Google Maps API v2 для ОС Android, это стало весьма актуально, т.к. на данный момент не получится полноценно использовать Google Play Services на эмуляторе.
Прежде чем начать подключать устройство к системе, следует включить режим USB debugging на самом смартфоне или планшете, это включается в меню:
Android 3.2 и более ранние версии:
Settings > Applications > Development
Android 4.0 и выше:
Settings > Developer options
ВАЖНО: В Android 4.2 и выше, Developer options скрыто по умолчанию. Для активации опции нужно зайти в меню Settings > About phone и нажать на Build number семь раз. После этого следует вернуться в предыдущий пункт Developer options.
Теперь начнём, добавим правило работы с нужным нам USB устройством, для этого создадим следующий файл:
1
|
sudo touch /etc/udev/rules .d /51-android .rules |
Далее откроем файл на редактирование:
1
|
sudo nano /etc/udev/rules .d /51-android .rules |
Добавим в файл следующюю строку с атрибутами производителя устройства и доступа к устройствам на уровне системы:
1
|
SUBSYSTEM== "usb" , ATTR{idVendor}== "0bb4" , MODE= "0666" , GROUP= "plugdev" |
ВАЖНО: четырёхсимвольное значение параметра idVendor (0bb4) должно совпадать с идентификатором производителя устройства из таблицы ниже.
Company | USB Vendor ID |
---|---|
Acer | 0502 |
ASUS | 0b05 |
Dell | 413c |
Foxconn | 0489 |
Fujitsu | 04c5 |
Fujitsu Toshiba | 04c5 |
Garmin-Asus | 091e |
18d1 | |
Hisense | 109b |
HTC | 0bb4 |
Huawei | 12d1 |
K-Touch | 24e3 |
KT Tech | 2116 |
Kyocera | 0482 |
Lenovo | 17ef |
LG | 1004 |
Motorola | 22b8 |
NEC | 0409 |
Nook | 2080 |
Nvidia | 0955 |
OTGV | 2257 |
Pantech | 10a9 |
Pegatron | 1d4d |
Philips | 0471 |
PMC-Sierra | 04da |
Qualcomm | 05c6 |
SK Telesys | 1f53 |
Samsung | 04e8 |
Sharp | 04dd |
Sony | 054c |
Sony Ericsson | 0fce |
Teleepoch | 2340 |
Toshiba | 0930 |
ZTE | 19d2 |
Установим нужные права на только что созданный файл:
1
|
sudo chmod a+r /etc/udev/rules .d /51-android .rules |
Теперь подключим или переподключим наше устройство к порту USB и перейдём в каталог platform-tools в Android SDK. В моём случае он располагается в директории /opt:
1
|
cd /opt/android-sdk-linux/platform-tools |
И выполним в консоли такой код:
1
|
adb devices |
В выводе должны отобразиться устройства виртуальные и физические. Идентификатор физического устройства похож на:
1
|
1234567890ABCDEF device |
Если появляется ошибка «adb: команда не найдена», то нужно уствновить пакет:
1sudo
apt-get
install
android-tools-adb
Последний шаг, настройка исходного кода приложения, а именно файла AndroidManifest.xml. Нужно просто добавить параметр android:debuggable в тэг <application>, например:
1
2
3
4
|
< application android:icon = "@drawable/icon" android:label = "@string/app_name" android:debuggable = "true" > |
ВАЖНО: перед выпуском приложения, параметр android:debuggable следует удалить.
Теперь при запуске проекта в Eclipse, будет предлагаться передать его на физическое устройство или на эмулятор. После выбора первого — проект стартует на смартфоне.