Вы подключаете ваш мобильный телефон к компьютеру с помощью 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
Используйте 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 с карты телефона на компьютер
>>>> SUBSYSTEM=="usb", SYSFS(idVendor)=="XXXX", MODE="0666"
ОтветитьУдалитьБоюсь что это не достаточно для Ubuntu 10.04 и выше
инструкция вроде под 10.04 писанная
ОтветитьУдалить