Вы подключаете ваш мобильный телефон к компьютеру с помощью USB кабеля. Большинство телефонов на базе Android поставляется с microUSB, miniUSB или каким либо своим proprietary-to-USB кабелем. Если у вас нет такого кабеля, вам необходимо его достать.

Когда вы подключаете Ваш телефон к компьютеру он модет быть инициализирован как CDROM привод ( используя usb-storage kernel module) который содержит драйвера для Windows. Так же как и с большинсвом 3G USB модемами. Вам необходимо будет использовать usb_modeswitch с верными параметрами для перехода к следующей стадии ( который сделает телефон видимым как телефон, а не как CDROM). Если к вас не установлен usb_modeswitch, установите его из менеджера пакетов.

Если вы не знаете необходим ли вам usb-modeswitch, и какие параметры вам нужны, посмотрите страничку проекта usb-modeswitch. the usb-modeswitch project page

Итак, следующая вещь которую необходимо будет сделать, добавить правило в udev которое позволит правильно устанавливать права доступа для нашего Android.
Используйте lsusb что бы идентифицировать Vendor:Product ID (производитель:ID продукта) вашего телефон. Это будет выглядеть примерно как: 1d6b:0001, Vendor ID в данном случае будет 1d6b.

gedit /lib/udev/51-android.rules

и вводим:

SUBSYSTEM=="usb", SYSFS(idVendor)=="XXXX", MODE="0666"

вместо ХХХХ пишем корректные значения USB Vendor ID. Сохраняемся и выходим.

You need to replace XXXX with your correct USB Vendor ID. Save and exit.

перезагружаем udev с помощью

sudo restart udev

После этого нужно скачать Android SDK for Linux. Это файл размером ~17mb и именем( на момент написания) android-sdk_r07-linux_x86.tgz. На странице загрузки предлагается скачать и установить Eclipse и другое, но для терминального доступа нам необходим только Android SDK. После загрузки, распакуйте файл. Внутри перейдите в android-sdk-linux_x86/tools/. Здесь находится adb (Android Debug Bridge) tool.

Запустите

./adb start-server Для того чтобы запустить сервер на принимающей стороне.

затем посмотрите как ваш телефон был идентифицирован с помощью ./adb devices



> ./adb devices
List of devices attached
SOMEDEVICENAME device
> _

если вы не увидите последнюю строку вида SOMEDEVICENAME device, это значит что ваш телефон не был обнаружен (возможно не правильно настроен usb_modeswitch). Если вы получили значение но с указанием ‘(no permissions)’, значит где-то не правильно были указаны права доступа в udev правилах. Теперь делаем ./adb kill-server, и снова выполняем ту же команды но через sudo.

Вконце концов мы можем:

> ./adb shell
$ id
uid=2000(shell) gid=2000(shell) groups=1003(graphics),1004(input),1007(log),1011(adb),1015(sdcard_rw),3001(net_bt_admin),3002(net_bt),3003(inet)
$ uname -a
Linux localhost 2.6.29-perf #1 PREEMPT Tue Aug 3 20:01:27 EET 2010 armv6l GNU/Linux
$ _

если вы управляете телефоном как root вы так же можете

$ su
# id
uid=0(root) gid=0(root)
# _

Вы можете поискать на сайте http://forum.xda-developers.com/ как получить доступ root к вашему телефону. Большинство телефонов на базе Android могут быть администрированы под root.

Принимать/передавать файлы с телефона можно с помощью:



./adb push myfile.txt /sdcard/       # копирует myfile.txt с компьютера на карту телефона
./adb pull /sdcard/myfile.txt . # копирует файл /sdcard/myfile.txt с карты телефона на компьютер



Комментарии

  1. >>>> SUBSYSTEM=="usb", SYSFS(idVendor)=="XXXX", MODE="0666"

    Боюсь что это не достаточно для Ubuntu 10.04 и выше

    ОтветитьУдалить
  2. инструкция вроде под 10.04 писанная

    ОтветитьУдалить

Отправить комментарий

Что бы вставить смайлик, используйте код под ним. Но смайлики для лалок...

Популярные сообщения из этого блога

Телефон ретрограда (Sony Xperia 10 IV XQ-CC72 )

Toshiba e-studio 181 или будьте вы прокляты GDI-принтеры