MotoFan.Ru — всё для Motorola > Устройства Motorola > Motorola на Android OS

Android SDK & ADB Shell Полная версия

 av Silent_Bob

 31.12.2010, 8:46

Windows (должна быть установлена JAVA):
1) Начнём с простого - распаковываем (просто распаковываем android-sdk_r07-windows.zip, желательно в корень диска C);
2) Подключаем телефон (режим подключения - только зарядка); потом идём в Настройки --> Приложения --> Разработка --> включаем Отладку по USB;
3) Устанавливаем драйвера (ибо после шага 2 полезут "неизвестные устройства"): просто распаковываем usb_driver.rar (например по такому пути: C:\android-sdk-windows\usb_driver) ну, и ставим дрова через диспетчер устройств (все помнят как это делать ?);
4) Тестим: открываем команандную строку (жмём кнопки [WIN] и [R] одновременно --> печатаем команду cmd --> жмем [Enter]); вбиваем в открывшемся окне терминала (то, что в простонародье зовётся "досовское окошко" или как-то так laugh.gif) следующие команды: cd C:\android-sdk-windows\tools [Enter], потом adb devices [Enter] и видим что-то типа этого:
Код
List of devices attached
04038F050D00E01A    device
Ok !!!
5) Необязательный шаг: заходим в меню Пуск и нажимаем правой кнопкой на "Мой компьютер", выбираем "Свойства" --> "Дополнительные параметры системы" --> "Переменные среды" ...
Здесь мы создаем новую "Системную переменную" (нажимаем на кнопку "Создать", в соответствующем разделе):
Имя переменой: adb, значение переменной: C:\android-sdk-windows\tools (без пробелов и кавычек), закрываем все (нажимаем на "Ок") ...
ps.gif Я последний шаг не делал (видимо это нужно, чтобы каждый раз, при открытии нового окна терминала не вводить cd C:\android-sdk-windows\tools) ...

Несколько команд shell:
Spoiler:

ls
просмотр содержимого каталога

pwd
напечатать путь к каталогу, в котором вы находитесь

cd
сменить каталог (перейти в другой)
например:
cd /sdcard/

cp
скопировать файл куда-либо
например:
cp /sdcard/test.apk /data/app

mv
переместить файл
например:
mv /sdcard/test.apk /data/app

rm
удалить файл
например:
rm /sdcard/test.apk

rmdir
удалить папку

chmod
смена разрешений для файлов и каталогов

ln
создать ссылку на файл
например:
ln -s /sdcard/test.apk /data/app/test.apk


ps.gif Не балуйтесь - летально smile.gif !!!
[close]

А вот, что говорит нам сама программа о своих специфических функциях (что не ясно - спрашивайте):
Spoiler:

Android Debug Bridge version 1.0.26

-d - directs command to the only connected USB device
returns an error if more than one USB device is present.
-e - directs command to the only running emulator.
returns an error if more than one emulator is running.
-s <serial number> - directs command to the USB device or emulator with
the given serial number. Overrides ANDROID_SERIAL
environment variable.
-p <product name or path> - simple product name like 'sooner', or
a relative/absolute path to a product
out directory like 'out/target/product/sooner'.
If -p is not specified, the ANDROID_PRODUCT_OUT
environment variable is used, which must
be an absolute path.
devices - list all connected devices
connect <host>[:<port>] - connect to a device via TCP/IP
Port 5555 is used by default if no port number is specified.
disconnect [<host>[:<port>]] - disconnect from a TCP/IP device.
Port 5555 is used by default if no port number is specified.
Using this ocmmand with no additional arguments
will disconnect from all connected TCP/IP devices.

device commands:
adb push <local> <remote> - copy file/dir to device
adb pull <remote> [<local>] - copy file/dir from device
adb sync [ <directory> ] - copy host->device only if changed
(-l means list but don't copy)
(see 'adb help all')
adb shell - run remote shell interactively
adb shell <command> - run remote shell command
adb emu <command> - run emulator console command
adb logcat [ <filter-spec> ] - View device log
adb forward <local> <remote> - forward socket connections
forward specs are one of:
tcp:<port>
localabstract:<unix domain socket name>
localreserved:<unix domain socket name>
localfilesystem:<unix domain socket name>
dev:<character device name>
jdwp:<process pid> (remote only)
adb jdwp - list PIDs of processes hosting a JDWP transport
adb install [-l] [-r] [-s] <file> - push this package file to the device and install it
('-l' means forward-lock the app)
('-r' means reinstall the app, keeping its data)
('-s' means install on SD card instead of internal storage)
adb uninstall [-k] <package> - remove this app package from the device
('-k' means keep the data and cache directories)
adb bugreport - return all information from the device
that should be included in a bug report.

adb help - show this help message
adb version - show version num

DATAOPTS:
(no option) - don't touch the data partition
-w - wipe the data partition
-d - flash the data partition

scripting:
adb wait-for-device - block until device is online
adb start-server - ensure that there is a server running
adb kill-server - kill the server if it is running
adb get-state - prints: offline | bootloader | device
adb get-serialno - prints: <serial-number>
adb status-window - continuously print device status for a specified device
adb remount - remounts the /system partition on the device read-write
adb reboot [bootloader|recovery] - reboots the device, optionally into the bootloader or recovery program
adb reboot-bootloader - reboots the device into the bootloader
adb root - restarts the adbd daemon with root permissions
adb usb - restarts the adbd daemon listening on USB
adb tcpip <port> - restarts the adbd daemon listening on TCP on the specified port
networking:
adb ppp <tty> [parameters] - Run PPP over USB.
Note: you should not automatically start a PPP connection.
<tty> refers to the tty for PPP stream. Eg. dev:/dev/omap_csmi_tty1
[parameters] - Eg. defaultroute debug dump local notty usepeerdns

adb sync notes: adb sync [ <directory> ]
<localdir> can be interpreted in several ways:

- If <directory> is not specified, both /system and /data partitions will be updated.

- If it is "system" or "data", only the corresponding partition
is updated.

environmental variables:
ADB_TRACE - Print debug information. A comma separated list of the following values
1 or all, adb, sockets, packets, rwx, usb, sync, sysdeps, transport, jdwp
ANDROID_SERIAL - The serial number to connect to. -s takes priority over this if given.
ANDROID_LOG_TAGS - When used with the logcat option, only these debug tags are printed.
[close]
Из них нам интересны только: установка программ в приват - install -l, заливка файлов в телефон - push, из телефона - pull и собственно, великий и ужасный shell ...

Linux (c SUNовской ява-машиной):
1) Распаковываем android-sdk_r07-linux_x86.tar.gz, ну допустим в $HOME ...
2) Делаем cd "~/android-sdk-linux_x86/tools/", потом export PATH=$PATH:"~/android-sdk-linux_x86/tools/" на всякий случай (да, знаю, что это очень по-нубски);
3) Запускаем adb-сервер: sudo ./adb start-server (или su -c "./adb start-server");
4) Тестим: вбиваем в командную строку ./adb devices [Enter] и видим что-то типа этого:
Код
List of devices attached
04038F050D00E01A    device
5) А если видим:
Код
List of devices attached
? ? ? ? ? ? ? no permissions
то делаем: sudo ./adb kill-server && sudo ./adb start-server (сам столкнулся с такой проблемой, поэтому сервер желательно запускать под rootом и заранее) ...
ps.gif Можно попробовать прописать себя в группу plugdev (sudo /usr/sbin/usermod -a -G plugdev $USER), тогда по-идее запуск сервера от имени суперпользователя не потребуется, но у меня вообще такой группы небыло smile.gif) ...

Подписывание пакетов в Linux:
1) Просто распаковываем testsign.zip и androsign.zip в ~/android-sdk-linux_x86/tools/ (ну или в соответствующую папку);
2) Производим экзекуцию над неподписанным (нету /META-INF/) пакетом в виде: androsign ./test.apk ...
3) Получаем подписанный файл - ./test-signed.apk ...
ps.gif В пути к файлам не должно быть кириллицы, пробелов и т.д. ...

GUI для ADB: QtADB
Нажмите для просмотра прикрепленного файла Нажмите для просмотра прикрепленного файла Нажмите для просмотра прикрепленного файла
Описание:
QtADB - програма для ПК, предназначена для управления вашим смартфоном через ПК.
Возможности программы впечатляют, это файловый менеджер, работа со скриншотами,менеджер приложений, манипуляции с прошивками и др.
Программа поддерживает популярные ОС.

ps.gif Когда QtADB будет искать adb и aapt, укажите путь к windows_binaries в папке с программой ...
Скачать: QtADB_with_windows_binaries.zip ( 11.89 мегабайт )
Для работы с SMS, нужен клиент, установленный в телефон: qtadb.apk ( 23.75 килобайт )
Homepage: http://qtadb.wordpress.com/

 no av Ilya_GC

 31.12.2010, 11:58

Всё это бы да несколько месяцев назад. Наконец-то будет мануал, а то никто ничего толком не говорит!

 av MKRIK

 31.12.2010, 12:12

Это точно))) а-то приходилось инфу по инету собирать, так как на родном форуме все отмалчивались по поводу того, как работать с адб)))


Из рекомендаций: хотелось бы ссылку на JDK (для полноты) yesyes.gif

 av Silent_Bob

 31.12.2010, 14:59

http://www.java.com/ru/download/manual.jsp

 av John-1994

 31.12.2010, 15:36

Маленький вопрос :
Как консоль с ББ сейчас может помочь рядовому пользователю ?
Получит эстетическое удовольствие от возможности прописать rm -rf /* можно и при помощи самого аппарата ...

 av Silent_Bob

 31.12.2010, 16:33

В некоторых мануалах требуют лезть в ADBshell …
ps.gif Насколько мне позволяет память: Telnet'ом было удобнее пользоваться, чем eKonsole (в бОльших масштабах) …

 av John-1994

 1.1.2011, 13:18

Ну , ADB использовать абсолютно необязательно , так как действия аналогичны оыбчным , только производятся средствами исполнения команд в консоли , любой даже gnu/linux ламер в них разберется smile.gif

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

 av Silent_Bob

 1.1.2011, 22:45

Не все умеют на ходу трансскриптировать команды из какого-нибудь мана (ну, типа adb remount) ...
Цитата
практическом плане пригодится в основном и только заядлым красноглазикам , не желающим работать в графической среде
Или не желающим [CENSORED]ся с наэкранной клавой (исключение - Веха2, Клик, которому ADB нужен был, чтоб проги устанавливать, да Бэкфлип) на маленьком (относительно двадцатидюймового) дисплее ...
ps.gif Ах да, копипастить команды удобнее, чем печатать их вручную на Ведройде ...

 av Silent_Bob

 25.5.2011, 3:14

QtADB

Нажмите для просмотра прикрепленного файла Нажмите для просмотра прикрепленного файла Нажмите для просмотра прикрепленного файла

Описание:
QtADB - програма для ПК, предназначена для управления вашим смартфоном через ПК.
Возможности программы впечатляют, это файловый менеджер, работа со скриншотами,менеджер приложений, манипуляции с прошивками и др.
Программа поддерживает популярные ОС.

ps.gif Когда QtADB будет искать adb и aapt, укажите путь к windows_binaries в папке с программой ...
Для работы с SMS, нужен клиент, установленный в телефон:Нажмите для просмотра прикрепленного файлаHomepage: http://qtadb.wordpress.com/ ...


 av Silent_Bob

 3.7.2011, 20:47

Midnight Commander

Нажмите для просмотра прикрепленного файла Нажмите для просмотра прикрепленного файла

Распаковываем sdcard_mc.zip в корень карты памяти, а xbin_mc.tar.gz в /system/xbin, выставляем права (rwx r-x r-x), запускаем от root'а ...

В Linux пашет через adb, но в Windows придется работать через Telnet-клиент (telnet-сервер поднимаем на телефоне через эмулятор терминала: busybox telnetd -l /system/bin/sh -F) ...
Советую не использовать стандартный telnet-клиент Windows (не поддерживает псевдографику), а также: пользуйтесь мышкой (кнопки-курсоры иногда вызывают вылет mc) !!!

ps.gif На всякий случай прикладываю бинарники busybox и wget (busybox'овский встроенный wget что-то не пашет) ...

Полная версия:


MotoFan.ru (©) 2024    Слушать Radio