Установка приложений через adb: Способы установить приложения Android (установить APK) – Замена системных файлов Android с помощью adb / Habr

Содержание

Замена системных файлов Android с помощью adb / Habr

Способ может быть полезен в том случае, если «уже ничего не помогает», доступа к Root Explorer нет или телефон вообще не может загрузиться. В моем случае, пришлось в «боевом» режиме восстанавливать удалённый по глупости SystemUI.apk. При этом на телефоне что-то делать можно было только в доли секунды между нажатием кнопки «ОК» на предыдущем окне с ошибкой и появлением следующего такого же окна. Перепрошиваться не хотелось, потому пришлось срочно осваивать adb.

Итак, для того, чтобы подключить свой гуглофон к adb, вам нужно:

1) Android SDK для Вашей системы (здесь — на примере GNU/Linux Ubuntu)
2) Android SDK Platform-tools (устанавливаются выбором соответствующей галочки в Android SDK)
3) В «Параметры — Программы — Отладка» должна стоять галочка на «Отладка по USB»
4) Подключить телефон к USB
5) В моём случае пришлось сделать еще две вещи:
указать ID производителя телефона idVendor (его можно найти здесь):

#echo SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666" > /etc/udev/rules.d/51-android.rules
#chmod a+r /etc/udev/rules.d/51-android.rules

где 0bb4 заменяем на код своего производителя, после чего перезапустить adb
#adb kill-server
#adb start-server

Итак, все установлено и подключено, вы добавили путь к platform-tools в переменную $PATH своей операционной системы или перешли в эту папку с помощью команды cd. По команде «adb devices» должен выдавать некий номер и справа от него «device». Это значит, что adb видит телефон и может с ним работать. Если вместо «device» что-то другое или вообще «List of devices attached» — проблема где-то на 4-5 шаге.

Далее вам нужно поместить системный файл, который вы хотите установить, в папку platform-tools. То есть запасная копия системного файла должна быть приготовлена заранее или скопирована с аналогичного телефона.

После этого можно закинуть системный файл в /system/app такой последовательностью команд:

$adb push YourFile.apk /data/Yourfile.apk
$adb remount
$adb shell
$su
#cp -f /data/YourFile.apk /system/app/Yourfile.apk
#chmod 644 /system/app/YourFile.apk
#exit
$exit
$adb reboot

где YourFile.apk — имя вашего системного файла, причем регистр букв имеет значение.
После последней команды Ваш телефон должен перезагрузиться уже с новыми файлами.

Если на команду «adb remount» Вы получаете ответ «remount failed: Operation not permitted», то попробуйте вместо нее после «su» ввести «#mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system».

P.S.: В линуксе, если platform-tools не добавлена в $PATH, вместо «adb» нужно писать «./adb».

В этой статье команды, которые я запускал от имени обычного пользователя обозначены символом $ в начале строки, от имени root — символом #.

Как облегчить установку .apk на Android или GUI для adb install / Habr

Доброго времени суток, уважаемые Хабравчане! Так сложилось, что мне часто приходиться устанавливать .apk-файлы на Android-устройства — работаю тестировщиком. И вот в очередной раз, открывая терминал и набирая команду для установки очередного приложения, я задумался о том, как можно избавиться от рутинной работы. Статья предназначена для новичков, по-этому будет много пояснений.
Для начала давайте вспомним синтаксис команды: adb install <путь к файлу>. Если подключено 2 и более устройств, то получим:
error: more than one device and emulator
- waiting for device -
Так как adb не знает, куда ставить приложение. Чтобы явно указать устройство, используется синтаксис adb -s <ID_device> installl <путь к файлу>. Чтобы получить ID_device, необходимо дать команду adb devices, которая выведет список подключенных устройств:
List of devices attached
LGOTMS409c0d device
HT0BTHG02888 device
С помощью скрипта, приведенного ниже, можно сделать процесс установки более дружелюбным к пользователю.
Листинг скрипта:
#!/bin/bash

DEV_LIST=$(adb devices | awk '/device$/{if (NR!=1) {print $1}}')
#Указываем путь к директории, где лежат .apk файлы
DIR_PATH="/home/dn010891laa/Загрузки/"
while [ -z "$DEV_LIST" ]; do
zenity --question --title="Не подключено ни одно Android-устройство" --text="Проверить заново?" --height=100 --width=400
 if [ $? -eq "0" ]; then 
	DEV_LIST=$(adb devices | awk '/device$/{if (NR!=1) {print $1}}')
 else
	notify-send "ADB" "Операция отменена"
	exit
 fi
done
path=$(find "$DIR_PATH" -name "*.apk*" | zenity --list --title "Найденные файлы в директории "$DIR_PATH"" --column "Список всех .apk" --height=370 --width=600)
 if [ $? -eq "1" ];
	then exit
 fi
if [ $(echo "$DEV_LIST" | wc -l) -ne "1" ]
then
    DEV_NAME=$(zenity --list --title "На какое устройство будет произведена установка?" --column "Доступные устройства" $(echo "$DEV_LIST" | xargs))
 if [ $? -eq "1" ];then 
	notify-send "ADB" "Операция отменена"
	exit
 fi
else
    DEV_NAME="$DEV_LIST"
fi
adb -s "$DEV_NAME" install "$path" | tee /tmp/installlog.txt | zenity --progress --text "Установка "$path" на устройство "$DEV_NAME"" --pulsate --auto-close --no-cancel
log=$(cat /tmp/installlog.txt)
zenity --info --title="Результат установки" --text="$log"
rm /tmp/installlog.txt
killall adb
exit

Теперь по-порядку:
1.
Для взаимодействия с пользователем используется Zenity — графический интерфейс для командной строки. Ознакомиться с параметрами командной строки можно в просторах Интернет, например, тут, или выполнив в терминале zenity --help
DIR_PATH — это путь, где по-умолчанию сложены все apk, лично мне удобен такой вариант. Если путь к файлу не постоянный — нужно стереть строку с DIR_PATH, а для переменной path указать zenity --file-selection --title="Выберите apk для установки" --file-filter=*.apk — тогда будет открываться окно «Выбрать файл» с выбором любого пути и фильтром по расширению файлов *.apk.
2.
 DEV_LIST=$(adb devices | awk '/device$/{if (NR!=1) {print $1}}')
— Получаем вывод команды adb devices, удаляем лишний текст из строк, в данном случае текст «device», и выводим все строки, кроме первой, так как там содержится ненужный текст «List of devices attached» — это все присваиваем переменной DEV_LIST.
3.
 while [ -z "$DEV_LIST" ]</code>: <code>-z
— возвращает true, если длинна строки равна 0, думаю, что в теле цикла все и так понятно.
4.
 path=$(find "$DIR_PATH" -name "*.apk*" | zenity --list --title "Найденные файлы в директории "$DIR_PATH"" --column "Список всех .apk" --height=370 --width=600)
— ищем все файлы с расширением *.apk по заданному пути, и выводим результат в список через zenity — выбранный путь присваиваем переменной path
5.
 if [ $(echo "$DEV_LIST" | wc -l) -ne "1" ]
— читаем список устройств, получаем количество строк, если строк больше, чем 1, тогда строим список:
 DEV_NAME=$(zenity --list --title "На какое устройство будет произведена установка?" --column "Доступные устройства" $(echo "$DEV_LIST" | xargs))
, выбранное значение присвоится DEV_NAME.
6.
 adb -s "$DEV_NAME" install "$path" | tee /tmp/installlog.txt | zenity --progress --text "Установка "$path" на устройство "$DEV_NAME"" --pulsate --auto-close --no-cancel
— даем команду на установку, параллельно пишем ход установки в log файл, и передаем параметры в zenity --progress — для отображения прогрессбара. затем по окончании установки читаем информацию из лога и выводим сообщение о результате установки. Выглядит это так:




После создания скрипта делаем его исполняемым, и запускаем его.
Надеюсь, что статья будет полезна. Спасибо за внимание.

Команды adb для Android пользователей

Если у вас есть смартфон с операционной системой Android и вы часто с ним экспериментируете, что-то настраиваете или перепрошиваете, то, скорее всего, вы уже знакомы с инструментом ADB или (Android Debug Bridge). Это программа для управления смартфоном через компьютер по USB, которая содержит множество полезных команд.

Вы можете просматривать журналы, устанавливать и удалять приложения, управлять устройством и выполнять множество других полезных команд. Из этой статьи вы узнаете как пользоваться ADB в Linux, мы рассмотрим полезные команды ADB для пользователей Android и подробно разберем эту утилиту. Но сначала рассмотрим как установить сам инструмент на компьютер.

Содержание статьи:

Установка ADB в Linux

Программа ADB входит в стандартный набор утилит Android SDK. Вы можете установить эту среду и получите нужную утилиту. Но не всегда хочется тянуть на компьютер целую среду исполнения. Иногда нужна только одна программа. Ее можно очень просто установить отдельно. В Ubuntu для этого можно выполнить команду:

sudo apt install android-tools-adb

Для Red Hat, CentOS команда будет немного отличаться:

sudo yum install android-tools-adb

Если вам нужно установить ADB в Windows, то придется скачать пакет SDK Platform Tools из официального сайта.

Подготовка смартфона

Для того чтобы вы смогли использовать adb вместе со своим смартфоном вам необходимо включить режим отладки по USB. Эта возможность скрыта во всех версиях Android начиная с 4.2. Чтобы стать разработчиком сначала зайдите в

«Настройки» -> «О телефоне» и семь раз нажмите на пункте «Номер сборки»:

Затем в главном меню настроек появится пункт «Для разработчиков»:

Тут необходимо поставить галочку напротив раздела «Разрешить отладку по USB»:

Теперь ваш телефон готов к работе с adb. Подключите его по USB к вашему компьютеру и начнем работать.

Полезные команды ADB

Перед тем как мы сможем управлять устройством, необходимо еще кое-что сделать. Команде adb требуется специальная служба для связи с Android необходимо ее запустить. Для этого используйте такую команду:

adb start-server

После завершения работы вы можете отключить службу чтобы она не потребляла лишние ресурсы:

adb kill-server

Теперь можно выполнять adb команды для android.

Список устройств

Первым делом, посмотрим список подключенных устройств к нашему компьютеру. Для этого используется команда devices:

adb devices

Если к системе подключено несколько смартфонов, то по умолчанию действия будут применяться к первому. Но вы можете задать нужное имя устройства с помощью опции -s. Например:

adb -s 0123456789ABCDEF logcat

Также указать имя устройства, к которому необходимо применять команды программы adb можно с помощью переменной ANDROID_SERIAL:

export ANDROID_SERIAL=0123456789ABCDEF

Тогда все команды adb будут применяться к устройству, указанному в этой переменной.

Состояние устройства

С помощью команды get-state вы можете узнать состояние устройства:

adb get-state

Команда вернет одно из значений: device — работает, bootloader — загружается, offline — выключено. С помощью команды status-window можно постоянно отслеживать состояние:

adb status-window

Просмотр журналов

Самое частое действие, которое приходится делать разработчикам и тестировщикам мобильных приложений в поиске ошибок — это просмотр журналов системы и приложений. Для этого применяется команда logcat:

adb logcat

Утилита выводит содержимое логов Android в реальном времени, так что вы сразу увидите все сообщения об ошибках. Также можно записать все в файл:

adb logcat -d > ~/android.log

С помощью опции -c можно очистить все логи на устройстве:

adb logcat -c

Не всегда нужно смотреть полный системный лог, иногда будет достаточно только увидеть сообщения нужной программы.. Для этого просто укажите имя пакета:

adb logcat com android.settings

С помощью опции —log-level можно установить уровень подробности сообщений, доступны такие варианты: V, D, I, W, E, F, S. Для выбора подробности вывода укажите нужную букву через двоеточие после имени приложения:

adb logcat com android.settings:E

Или выведем только ошибки для всей системы целиком:

adb logcat *:E

Передача файлов на устройство

Если вам нужно быстро отправить файл на устройство, для этого можно использовать команду push. Вот ее синтаксис:

$ adb push /адрес/локального/файла /адрес/удаленного/файла

Например, загрузим файл из домашней папки на устройство:

adb push ~/file /sdcard/file

Файл будет мгновенно передан на устройство и вы можете в этом убедиться. Дополнительно можно использовать опцию -p для отображения прогресса, а также опцию -a чтобы сохранить оригинальный timestamp.

Загрузка файла с устройства

Таким же образом вы можете скачать файл с устройства. Синтаксис команды pull:

$ adb push  /адрес/удаленного/файла /адрес/локального/файла

Например, скопируем отправленный файл обратно:

adb pull /sdcard/file ~/file1

Установка приложений

С помощью adb можно напрямую устанавливать приложения. Эта возможность может быть очень удобной для разработчиков. Команде install нужно передать только адрес apk файла:

adb install ~/Momentum_apkpure.com.apk

После этого приложение установлено и готово к работе на вашем устройстве. Если вам нужно обновить приложение до более новой версии, тогда используйте опцию -r. Это очень важно. Иначе получите ошибку:

adb -r install~/Momentum_apkpure.com.apk

Еще доступны опции -s — для установки на флешку и -d — для понижения версии программы.

Удаление приложений

Удалить приложение тоже очень просто. Для этого достаточно передать имя его пакета команде uninstall. Например, удалим браузер Firefox:

adb uninstall org.mozilla.firefox

Резервное копирование

Вы можете создать резервную копию своей прошивки и всех системных файлов Android для того, чтобы ее потом очень просто и быстро восстановить. Для этого используется команда backup. Сначала рассмотрим ее синтаксис:

$ adb backup опции пакеты

Опции указывают какие данные нужно копировать. Каждая опция может иметь приставку no, которая означает, что эти данные копировать не нужно. Рассмотрим основные опции:

  • -apk — сохранять apk файлы для программ, по умолчанию отключено;
  • -obb — сохранять расширения установленные расширения apk файлов в формате obb. По умолчанию отключено;
  • -shared — сохранять данные приложений из SD карты или памяти телефона, отключено;
  • -all — сохранить все установленные приложения;
  • -system — сохранить системные приложения, эти приложения уже входят в список all.

Последний параметр позволяет указать какие приложения нужно сохранять. Если указана опция all, то, естественно, что этот параметр не нужен. Таким образом, команда для резервного копирования системы будет выглядеть вот так:

adb backup -apk -obb -shared -all -f backup.ab

С помощью опции -f мы задаем имя файла архива, он будет сохранен в текущей папке. Если его не задать, то имя по умолчанию будет backup.ab. Вам нужно будет подтвердить создание копии на телефоне, можно ввести пароль для шифрования:

 

Для восстановления из резервной копии используйте команду restore. Ей достаточно передать адрес файла:

adb restore android.ab

Перезагрузка устройства

В утилиты adb есть даже команды для перезагрузки устройства. Можно просто перезагрузить смартфон с помощью команды reboot:

adb reboot

Можно загрузиться в режим recovery:

adb reboot recovery

Или в режим настройки загрузчика:

adb reboot bootloader

Консоль Android

С помощью команды shell вы можете войти в консоль Android и выполнять там необходимые действия. Здесь доступно большинство привычных нам команд linux. Мы подробно рассматривали все доступные команды в статье команды Android Terminal Emulator. Сейчас же поговорим про саму команду shell и приведем несколько примеров. Чтобы войти в консоль наберите:

adb shell

Дальше откроется командная строка adb на Android. Если вам не нужна консоль, а нужно только выполнить команду и вернуть результат, то вы можете передать команду сразу после shell:

adb shell ls /system

Например, с помощью такой команды вы можете сделать снимок экрана:

adb shell screencap -p /sdcard/screenshot.png

А так можно снять экран смартфона на видео:

adb shell screenrecord /sdcard/video.mp4

Выводы

В этой статье мы рассмотрели как пользоваться утилитой adb для управления Android смартфоном, а также основные команды программы adb, которые вы можете применять. Команды adb shell — это те же команды, что вы можете выполнять в терминале Android, поэтому нет смысла их разбирать еще раз. Надеюсь, информация из этой статьи была вам полезной.

Как установить ADB driver (Android Debug Bridge Utility)

ADB (Android Debug Bridge Utility) это командная строка включенная в Android SDK. ADB позволяет управлять Вашим устройством через USB, копировать файлы, устанавливать и удалять приложения и многое другое. ADB позволяет использовать некоторые хитрости Android.

Перейдите на страницу загрузки Android SDK и прокрутите страницу вниз до “SDK Tools Only”. Загрузите ZIP файл для вашей ОС и распакуйте архив.

Запустите exe файл SDK Manager и снимите галочки со всех пунктов, кроме “Android SDK Platform-tools”. Если вы используете смартфон Nexus, то вы также можете установить галочку на пункте “Google USB Driver”, чтобы загрузить драйвера. Нажмите на кнопку установки. Произойдет загрузка и установка компонентов, в том числе ADB и другие утилиты.

Как установить ADB driver (Android Debug Bridge Utility)

Когда установка будет завершено можете закрыть SDK manager.

Внимание! В данный момент установка происходит следующим образом:
Перейдите на страницу загрузки Android Studio, пролистайте вниз до раздела «Get just the command line tools» и скачайте архив для соответствующей версии ОС (в нашем случае это Windows).

Как установить ADB driver (Android Debug Bridge Utility)

Разархивируйте скачанный архив, например, в корень диска C.

Взаимодействие с SDK Manager осуществляется через командную строку. Здесь Вы можете узнать все команды, но мы остановимся на главных. Чтобы запустить SDK Manager зайдите в папку, куда Вы распаковали содержимое архива > tools > bin и удерживая клавишу Shift нажмите правую кнопку мыши на свободном участке и выберите «Открыть окно команд», если Вы используете версию, отличную от Windows 10. Или запустите командную строку и укажите рабочую директорию. В моем случае это:

cd C:\sdk-tools-windows-3859397\tools\bin
Как установить ADB driver (Android Debug Bridge Utility)

Введите команду sdkmanager и нажмите Enter, чтобы увидеть все доступные параметры. Но нас интересует следующая команда:

sdkmanager "platform-tools" "platforms;android-26"

Это команда установит platform tools (включая adb и fastboot) и инструменты SDK для API 26, что соответствует Android версии 8.x. Полный список версий Android и соответствующих ему API описан ниже:

  • Android 1.0 — API 1
  • Android 1.1 — API 2
  • Android 1.5 — API 3
  • Android 1.6 — API 4
  • Android 2.0 / 2.1 — API 5, 6, 7
  • Android 2.2 — API 8
  • Android 2.3 — API 9, 10
  • Android 3.0 / 3.1 / 3.2 — API 11, 12, 13
  • Android 4.0 — API 14, 15
  • Android 4.1 / 4.2 / 4.3 — API 16, 17, 18
  • Android 4.4 — API 19,20
  • Android 5.0 / 5.1 — API 21, 22
  • Android 6.0 — API 23
  • Android 7.0 / 7.1 — API 24, 25
  • Android 8.0 / 8.1 — API 26

Т.к. у меня устройство с Android 7.0, то моя команда будет выглядеть так:

sdkmanager "platform-tools" "platforms;android-24"

Также Вы можете проделать этот шаг через графический интерфейс Android Studio. Для этого перейдите на страницу загрузки, скачайте, установите и запустите Android Studio.

Как установить ADB driver (Android Debug Bridge Utility)

Нажмите «Configure» и «SDK Manager».

Как установить ADB driver (Android Debug Bridge Utility)

Проверьте, чтобы стояла галочка напротив пункта «Android SDK Platform-tools» и «Google USB Drive», если Вы используете устройство Nexus. Нажмите «OK», чтобы закрыть SDK Manager, также закройте Android Studio.

Как установить ADB driver (Android Debug Bridge Utility)

Зайдите в настройки телефона и выберите «О телефоне». Пролистайте вниз до пункта «Номер сборки» и 7 раз нажмите на этот пункт. Должно появится сообщение, что Вы вошли в режиме разработчика.

Вернитесь на главную страницу настроек, у Вас должен появится новый пункт “Для разработчиков”. Включите “Отладка по USB”. Введите пароль или PIN-код, если необходимо.

Как установить ADB driver (Android Debug Bridge Utility)

Как только это сделаете, соедините свой телефон с компьютером. У вас появится окно на телефоне с вопросом «Включить отладку по USB?». Поставьте галочку в поле «Всегда разрешать для этого компьютера» и нажмите OK.

Откройте папку, где установлен SDK и там откройте папку platform-tools. Здесь хранится ADB программа. Удерживайте клавишу Shift и щелкните правой кнопкой мыши внутри папки. Выберите пункт «Открыть окно команд».

Чтобы проверить, правильно ли работает ADB, подключите устройство Android к компьютеру с помощью кабеля USB и выполните следующую команду:

adb devices
Как установить ADB driver (Android Debug Bridge Utility)

Вы должны увидеть устройство в списке. Если устройство подключено к компьютеру, но оно не отображается в списке, то необходимо установить ADB driver для Вашего устройства. На сайте производителя Вашего устройства должны быть соответствующие файлы. Например для устройств Motorola их можно скачать здесь, для Samsung здесь, для HTC драйвера входят в программу HTC Sync Manager. Вы также можете найти необходимые файлы на сайте XDA Developers без дополнительных программ.

Вы также можете установить Google USB Driver из папки Extras в окне SDK Manager, как мы упоминали в первом шаге.

Как установить ADB driver (Android Debug Bridge Utility)

Если вы используете Google USB driver, то придется заставить Windows использовать установленные драйверы для вашего устройства. Откройте Диспетчер устройств (правой кнопкой мыши на ярлыке Мой компьютер и выбрать Свойства — Диспетчер устройств), найдите в списке свое устройство. Нажмите правой кнопкой на нем и выберите Свойства. Перейдите на вкладку Драйвер и нажмите кнопку Обновить. Выберите «Выполнить поиск драйверов на этом компьютере».

Найдите Google USB Driver в папке Extras с установленным SDK, и выберите папку google\usb_driver и нажмите Далее. Как только драйвера установятся, пробуйте еще раз выполнить команду adb devices. Если все сделано правильно и драйверы подходят, то Вы увидите свое устройство в списке. Поздравляем, Вы смогли установить ADB driver.

ADB предлагает некоторые полезные команды:

adb install C:\package.apk

— Установить приложение на телефон, находящееся по пути C:\package.apk на компьютере;

adb uninstall package.name

— Удалить приложение с именем package.name с устройства. Например, команда com.rovio.angrybirds удалит игру Angry Birds;

adb push C:\file /sdcard/file

— Помещает файл с компьютера на устройство. Данная команда отправит файл C:\file на компьютере на устройство по пути /sdcard/file&lt.

adb pull /sdcard/file C:\file

— Работает как предыдущая команда, но в обратном направлении.

Программа adb — Инструкция по установке и настройке для работы с Андроид


Программа adb

Программа adb — Инструкция по установке и настройке для работы с Андроид. Практически каждый владелец Android устройства, который решил улучшить своего любимца путем замены прошивки или ядра операционной системы, сталкивается с программой adb.

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

Так что же такое ADB, полюбившийся всем моддерам и хакерам, где его взять, и зачем он нам нужен?

Что такое ADB.

Аббревиатура ADB расшифровывается как Android Debug Bridge (отладочный мост Андроид). ADB является составной частью Android SDK, который можно скачать отсюда.

Так как операционная система Android является разновидностью Linux, для ее настройки часто возникает необходимость работы через командную строку. Конечно, существуют программы – эмуляторы терминала, которые позволяют выполнять команды прямо на устройстве но, во-первых, на маленьком экране телефона делать это неудобно, а во-вторых, иногда требуется доступ к устройству через компьютер, и в этих и многих других случаях программа adb просто незаменима. Программа adb устанавливает связь между устройством и компьютером и позволяет прямо на компьютере выполнять различные манипуляции с системой Android.

Как установить ADB.

Прежде всего, рекомендуем вам скачать самую последнюю версию Android SDK, на момент написания этого руководства доступна версия r11, на ее примере построено все дальнейшее описание, и в более ранних версиях, местоположение необходимых программ после установки SDK, может отличаться от описанного здесь.

1. Скачиваем Android SDK, его можно найти по ссылке указанной ранее. Имеется несколько разновидностей SDK, для Microsoft Windows, Mac OS и Linux.

Нам потребуется разновидность для Microsoft Windows. И здесь есть два варианта – скачать установщик или zip архив с Android SDK. Установщик нам не нужен, тем более он не позволит установить SDK в Windows 7, и поэтому скачиваем zip архив.

В архиве находится папка android-sdk-windows, которая и содержит сам SDK. Распаковываем ее на компьютер. В нашем примере, мы разместили папку в корне диска С. Если вы сделаете то же самое, путь к SDK будет у нас такой: C:\android-sdk-windows

В более ранних версиях SDK внутри этой папки в папке tools располагалась нужная нам программа adb, но позднее она была перемещена разработчиками в папку platform-tools.

Однако, если вы зайдете в эту папку, вы не найдете внутри нее программу adb, поэтому переходим к следующему этапу установки.

2. Устанавливаем SDK Platform Tools.
Убеждаемся, что наш компьютер подключен к интернету и запускаем находящуюся в папке android-sdk-windows, программу SDK Manager. После запуска программы появится такое окно:

Программа adb

Нам нужно скачать и установить Android SDK Platform-tools и Android SDK Tools.

С помощью двойного клика по пункту или нажатием на «Accept» и «Reject» отмечаем эти два пункта в списке и снимаем отметку со всех остальных пунктов, как показано на приведенном выше скриншоте. Затем нажимаем «Install» и ждем пока скачаются и установятся нужные нам компоненты.

Теперь мы имеем установленную adb на своем компьютере, но для работы с нашим телефоном или планшетом нужно будет установить их драйвер и для дальнейшего удобства с программой, неплохо было бы прописать путь к ней и другим компонентам в систему Windows.

3. Если мы зайдем в папку C:\android-sdk-windows\platform-tools\ , то теперь сможем там обнаружить программу adb.

После этого, нам нужно отредактировать системную переменную PATH, чтобы каждый раз при запуске программы и вводе команд не набирать путь к программе, который выглядит так:

C:\android-sdk-windows\platform-tools\adb

Если вы ни разу не редактировали системные переменные, создайте точку восстановления системы, чтобы потом можно было вернуть ее в первоначальное состояние.

— Если у вас установлена Windows 7, клацаем правой клавишей мыши по ярлыку «Компьютер», выбираем «свойства» и в открывшемся окне выбираем «Дополнительные параметры системы».

— Если у вас Windows XP, клацаем правой кнопкой мыши по «Мой компьютер» и затем по «Свойства»

В следующем окне на вкладке «Дополнительно» нажимаем на кнопку «Переменные среды». В списке «Системные переменные» выбираем переменную «path» и нажимаем кнопку «Изменить…»

Откроется окно редактирования переменной, и в пункте «значение переменной» в самый конец строки, после точки с запятой добавляем путь к папке tools и папке platform-tools:

;c:\android-sdk-windows\tools;c:\android-sdk-windows\platform-tools;

platform-tools

(если в конце строки не было точки с запятой, добавьте её – каждый путь в этой строке должен отделяться от другого точкой с запятой)

Если вы установили Android SDK в другую папку, пропишите в конце строки ваш путь к папкам tools и platform-tools.

Нажимаем «ОК», чтобы сохранить изменения. После этого, чтобы изменения вступили в силу, нужно будет перезагрузить компьютер.

Установка драйверов устройства.

Некоторые устройства, например телефоны и планшеты компании Samsung имеют собственное программное обеспечение для синхронизации с компьютером, и если оно у вас установлено на компьютере, то драйвер устройства уже установлен у вас в системе.

Но для таких устройств, как Nexus One, которые поставляются без каких либо дополнительных программ и драйверов, для работы с Android SDK, драйверы установить необходимо.

Для этого идем в папку, в которую мы устанавливали SDK и запускаем SDK Manager.

SDK Manager

Точно так же, как мы устанавливали Android SDK Platform-tools и Android SDK Tools, находим и выбираем в списке «Google Usb Driver package». Нажимаем «Install» и ждем пока программа скачает драйверы. Драйверы для 32 и 64 разрядной Windows будут скачаны в следующую папку:

C:\1\android-sdk-windows\extras\google\usb_driver

Теперь можно установить драйверы для вашего устройства.  Для этого в меню настроек телефона или планшета выбираем пункт «Приложения» (Applications), и в нем включаем «Отладка USB» (USB debugging).

Подключаем наше устройство к компьютеру. Компьютер обнаружит новое оборудование и предложит установить драйверы. Устанавливаем драйверы из папки, куда они были скачаны ранее.

После установки драйверов в диспетчере устройств появится новое устройство «ADB Interface» и мы можем убедиться в этом открыв его, нажав правой клавишей мыши по иконке «Компьютер» -> «Свойства» -> «Диспетчер устройств»

Как запустить ADB

Работать с программой adb лучше всего через командную строку Windows. Для вызова командной строки на компьютере с Windows XP, нажимаем «Пуск» и в поле ввода «Выполнить» набираем cmd и нажимаем «Enter».

На компьютере с Windows 7, нажимаем «Пуск» и в поле ввода «Найти программы и файлы» набираем cmd и нажимаем «Enter».

Откроется окно командной строки, и для того чтобы, например посмотреть какие устройства у нас подключены к компьютеру, набираем в нем команду:

adb devices

Программа adb отобразит список устройств, подключенных в настоящий момент к компьютеру.

adb devices



 

Ручная установка драйвера ADB / Habr

Я хочу поделиться с вами простым способом установки ADB драйвера под Windows. Эта статья понадобится тем, у кого этот драйвер или не устанавливается вовсе, или устанавливается, но adb все равно в упор не видит устройство(как было у меня), или вы вообще этот драйвер не нашли. Так что всех, у кого есть/были похожие проблемы, или кому просто интересно, прошу под кат.

Начну с предыстории. Решил я купить себе недорогой планшетик на Android для чтения книг(DJVU/PDF), и выбор пал на устройство российского конечно же китайского производства TeXet TM-7025. Жаба давила покупать что-то дорогое, а для простого чтения книг каких-то сверх-характеристик не требуется. Позже я обнаружил что на нем неплохо идут большинство игрушек, удобно полазить в инете пока ты сидишь in da kabin и т. д. А поскольку передо мной маячило изучение Android, я решил, что будет весьма удобно пользоваться для этого железным девайсом вместо мучений с эмуляторами.

И вот тут меня ждал неприятный сюрприз — то ли родной драйвер оказался кривым, то ли винда, то ли провод… вообщем драйвер то встал, диспетчер устройств Windows рапортовал о полной работоспособности девайса, но на запрос adb devices в консоли я получал пустой список и, естественно, тестировать приложение на планшете не удавалось.

Я написал запрос в службу поддержки TeXeT, мне даже ответили ссылкой на сам драйвер, который, как я уже убедился, не работал. Я начал искать ответ в интернете и нашел кучу разных сборок этого драйвера и мануалов, но все равно ни один из них не завелся как надо, и даже родной драйвер из SDK вообще никак не становился, что повергло меня в уныние… но не отчаяние.

Вот тут я решил попробовать свои силы в написании драйверов старом добром методе научного тыка и открыл inf-файл драйвера. Надежду мне давало понимание, что софтверная часть adb интерфейса со стороны планшета должна быть идентичной для всех устройств, а USB и так работал. И вот, после нескольких неудачных проб ручной правки inf-файла я нашел рецепт лечения приправы inf-файла так, чтобы оно поставилось и, главное, работало.

Итак, приступим.

Шаг 1. Скачать драйвер. Если вы этого еще не сделали, откройте Android SDK Manager, найдите раздел Extras, поставьте галочку напротив Google USB Driver и нажмите Install Packages. Все просто. Ждете, пока загрузится.

Шаг 2. Найдите драйвер и сделайте его копию в отдельную папку. Зайдите в папку %android-sdk%\extras\google\ и увидите там заветную папочку usb_driver. Вот ее скопируйте куда-то, и там же будем проводить дальнейшие манипуляции. В принципе, можете править и «оригинал», но я предпочел сохранить оригинал нетронутым на всякий пожарный.

Шаг 3. Правим inf-файл. В папочке открываем файл android_winusb.inf и ищем там строки такого вот вида:

;Google Nexus One
%SingleAdbInterface%        = USB_Install, USB\VID_18D1&PID_0D02
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_0D02&MI_01
%SingleAdbInterface%        = USB_Install, USB\VID_18D1&PID_4E11
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4E12&MI_01

Делаем копию этих строк, заменяем Google Nexus One на %имя_вашего_девайса% для идентификации в будущем и… открываем диспетчер устройств Windows. Ищем там наше устройство(Android, Android Composite ADB Interface или что-то в этом стиле). Открываем свойства устройства, вкладка «Сведения», в списке выбираем пункт «ИД оборудования» и видим такую вот картину.

Копируем строчку, которая больше всего похожа на ту, что показана на рисунке(Она, по идее просто немного короче), и вставляем ее в наш inf-файл.
;TEXET TM-7025
%SingleAdbInterface%        = USB_Install, USB\VID_18D1&PID_0003
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_0003&MI_01
%SingleAdbInterface%        = USB_Install, USB\VID_18D1&PID_0003
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_0003&MI_01

В %SingleAdbInterface% мы конец строки удаляем, как видно, в %CompositeAdbInterface% вставляем целиком. Повторять два раза все, наверное, не надо, но у меня уже все стоит и мне лень экспериментировать 🙂
Сохраняемся(будьте внимательны — в некоторых случаях для этого нужно запускать блокнот с правами администратора, т. к. в пользовательском режиме вам не дадут перезаписать inf-файл).
Шаг 4. Установка драйвера. Теперь, когда все подготовлено, возвращаемся в диспетчер устройств и удаляем все ранее установленные adb драйверы(если были). Обновляем список устройств и видим наш девайс без драйверов. Открываем его свойства и выбираем «обновить драйверы», выбираем установку из папки, указываем папку с поправленым inf-ом и запускаем установку — наш драйвер моментально находится, но при установке он может ругаться о несовместимости с вопросом «продолжать ли, насяльнека?». Продолжаем. Все, драйвер установлен.
Шаг 5. Финал. Для точности делаем вынь-всунь USB-порта, ждем пока все обнаруживается, открываем консоль(Win+R, вводим cmd) и пишем adb devices. Если все прошло хорошо — видим заветный пункт списка, обозначающий, что adb теперь видит наш девайс.

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

Если команда adb у вас вообще не работает. Компьютер -> Свойства -> Переменные среды. Ищем переменную Path и в конце дописываем(ни в коем случае не перезаписываем) в конце точку с запятой, а после адрес папки, где живет adb(обычно %android-sdk%\platform-tools\). После перезагрузки должно заработать.
Иногда adb не запускается автоматически при старте системы. Запустите вручную.

Что это было?
На самом деле все просто. В силу неких причин(винда мастдай/у прогеров кривые руки/гугловский инф-файл писался только для родных гугловских девайсов/в вашем компьютере все испортили бозоны Хиггса) винда не хочет кушать гугловский драйвер для негугловских девайсов, не записанніх в inf-файл. Видимо, там все как раз завязано на этих ИД-оборудования. Но ведь софтверная часть на подавляющем большинстве андроид-устройств в части дебаггер-коннектора к ПК идентична, потому драйвер должен нормально общаться с любым Андроид-устройством. Наша задача — обмануть Windows и заставить ее принять девайс за «драйверо-подходящий», что мы и сделали путем дописывания его ИД в inf-файл драйвера.

Надеюсь, кому-то данный мануал поможет завести свой китайский или другой девайс, для которого при сборке системы забыли сделать нормальный драйвер adb, или тем, кого задалбывает качать официальный драйвер от производителя устройства(это бывает настолько гемморно, что быстрей сделать все вышеописанное — у меня так было с драйвером для телефона LG E510).

P. S. Я не проводил массового тестирования данного метода, так что не могу гарантировать, что он заработает в 100% во всех случаях. Но у меня он заработал на Windows 7, а после и на Windows 8. Файл приходилось править для каждого раза отдельно, но не думаю, что это такая уж проблема.

Что такое ADB? ADB команды Android + Видео

В данной статье вы узнаете что такое ADB для чего он нужен пользователям, а также как управлять им с помощью команд в Android терминале. Ну что же начнем изучать adb команды android…

 Знакомимся с ADB

ADB (android debug bridge) — это средство отладки, выявления ошибок, удаление не удаляемых приложений, выполнить разблокировку bootloader, прошивки устройств на Android и многого другого. Официальную документацию на английском языке можете прочитать на данном сайте.

Где скачать ADB?

Скачать ADB можно с официального ресурса Android.

Либо воспользоваться специальной программой Adb Run, облегчающая взаимодействие с ADB.

Позаботьтесь чтобы на ПК были установлены драйвера, а на Android включена отладка по USB и компьютер прошел авторизацию.

Также рекомендуем установить на телефон приложение Android Терминал 

Adb команды Android

Команды Adb можно разделить 3 типа, непосредственно для команды Adb и FastBoot (подробно о Fasboot) и Linux команды (Android).


Проверка подключения Android к компьютеру. ADB DEVICES

Чтобы убедиться, что Android подключен к компьютеру необходимо ввести adb команду:

adb devices

Пример как использовать:

attна данном скрине видно что Android подсоединенadb devices

Если у вас не появилось похожее сообщение, то возможно, необходимо проверить, наличие драйверов на ПК, целостность кабеля, работоспособность порта USB.


Подключение Android по WI-FI. ADB Connect

Для того, чтобы подключить Android по WI-FI сети, необходимо получить ip адрес и порт устройства, в этом вам поможет приложение ADB Wireless (необходим Root) которую можно скачать в Google Play

После этого ввести команду adb:

adb connect ip:port

Пример как использовать:

 adb connect 192.168.0.14:5555

Более подробно о том как подключить Android через WI-FI — Отладка по USB по Wi-FI.


Установка приложений на Android. ADB Install

Для того, чтобы установить какое-либо приложение с компьютера на Android, необходимо ввести команду:

adb install

Пример как с помощью команды adb install установить приложение необходимо написать:

adb intsall C:\papka_gde_hranitsya_proga.apk

То есть написать команду adb install путь к приложению и название приложения.


Отправить какой-либо файл на Android. ADB PUSH

Чтобы отправить с компьютера на Android любой файл существует следующая команда:

adb push

Пример, чтобы с помощью команды Adb отправить файл с ПК на Android необходимо написать adb push команду:

adb push C:\papka_gde_hranitsya_file\imja_file /sdcard

То есть написать adb push команду путь к файлу, название файла и место где сохранить данный файл.


Отправить / Принять файл c Android на Компьютер.
ADB PULL

Для того чтобы принять абсолютно любой файл с устройства Android на компьютер существует команда:

adb pull

Для того чтобы с помощью команды Adb принять файл с Android девайса на ваш ПК необходимо написать:

adb pull /sdcard/xxx/Keks_s_Pameloy_Anderson.avi C:\papka_gde_budet_hranitsya_file

То есть написать команду adb pull и путь к файлу который находится на Android, название файла и место где сохранить данный файл на ПК.


Перезагрузка Android. ADB Reboot

Для перезагрузки Android, после каких-либо выполненных операций, либо перезагрузить в специальный режим, существует команда:

adb reboot

Команды перезагрузят Android в нормальный режим (обычная перезагрузка):

adb reboot или adb reboot normal

Команда перезагрузит Android в режим загрузки Bootloader:

adb reboot bootloader

Команда перезагрузит Android в режим Recovery:

adb reboot recovery


Управление Android. ADB SHELL

Перейти в управление Android, после чего можно использовать linux команды ОС Android.

Весь потенциал Android раскрывается после того когда вы переходите в управление Android где доступны многие команды linux.

adb shell


Команды в терминале Android
(Linux команды)


Команда суперпользователь. SU

Суперпользователь или Root. Позволяет выполнять абсолютно все действия, от создания, модифицирования, изменения, до удаления конкретных системных файлов, для этого введите команду:

su

sua

До ввода команды: su пользователь является гостем в системе (многие действия заблокированы) и обозначается в начале терминала знаком доллар $ после ввода команды su становится админом и в терминале обозначается как американский номер#

su

Команда перейти в папку. CD

Для того чтобы перемещаться между разделам и каталогами в Android, существует специальная команда:

cd

Чтобы перейти с раздела /sdcard в раздел /sdcard/xxx/porno/hot_girl

cd /sdcard/xxx/porno/hot_girl 

Для того чтобы вернуться с раздела на каталог выше, либо обратно в /sdcard:
если находимся в каталоге /sdcard/xxx/porno/hot_girl — hot_girl

cd ..

окажемся в каталоге:

/sdcard/xxx/porno/

если необходимо подняться в /sdcard то:

cd ../ ../  (столько раз сколько это необходимо)

Внимание в Android и других Unix системах файлы Primer, либо primer или PrimER абсолютно разные файлы!


Переместить / Переименовать файл либо каталог. MV

Перемещение и переименование файла, каталога (папки) или файла осуществляется только одной командой:

mv

Пример переименовать файл:

mv /sdcard/xxx/hot_porno/Alenka.avi /sdcard/xxx/hot_porno/kruto.avi

Пример переименовать папку:

mv -r /sdcard/xxx/hot_porno /sdcard/xxx/super

Пример как Переместить файл:

mv /sdcard/xxx/hot_porno/Alenka.avi /sdcard/xxx/Alenka.avi

Пример как Переместить папку:

mv -r /sdcard/xxx/hot_porno /sdcard/hot_porno


Просмотреть что внутри каталога. LS

Какие каталоги и файлы содержаться в каталоге где вы находитесь, используют следующую linux команду:

ls

Пример как использовать, узнать какие файлы в папке /sdcard/xxx/hot porno:

 ls /sdcard/xxx/hot_porno/

вы получите в окне следующее сообщение:

Alenka.avi

Pamela.avi

Anderson.avi

Если необходимо увидеть скрытые файлы в папке:

ls -a

Пример как использовать:

ls  -a /sdcard/xxx/hot_porno/

выдаст следующие сообщение:

.Skruty_file_Hot.avi

Alenka.avi

Pamela Anderson.avi

Skrutiy_File.avi


Копировать файл или папку (каталог). CP

Скопировать какой-либо файл или папку и переместить куда-либо:

cp

Пример Скопировать файл:

cp /sdcard/xxx/hot_porno/Alenka.avi /sdcard/xxx/Alenka.avi

Пример Скопировать папку:

cp -r /sdcard/xxx/hot_porno /sdcard/hot_porno


Создать каталог (папку). MKDIR

Для того, чтобы создать где-либо папку, используйте команду:

mkdir

Пример как использовать:

mkdir /sdcrad/android_papka


Удалить каталог (папку) или файл. RM

Если необходимо удалить какой либо файл или папку linux команда:

rm

Пример как удалить файл:

rm /sdcard/xxx/hot_porno/Alenka.avi

Пример как удалить папку:

rm - r /sdcard/xxx/hot_porno


Вывести содержимое файла на экран. CAT

Если перед вами стоит задача вывести на экран содержимое текстового файла:

cat

Пример как использовать:

cat /sdcard/books/Толстой_книга_война_и_мир.txt

и получим:

— Еh bien, mon prince. Genes et Lucques ne sont plus que des apanages, des поместья, de la famille Buonaparte. Non, je vous previens, que si vous ne me dites pas, que nous avons la guerre, si vous vous permettez encore de pallier toutes les infamies, toutes les atrocodes de cet Antichrist (ma parole, j`y crois) — je ne vous connais plus, vous n`etes plus mon ami, vous n`etes plus мой верный раб, comme vous dites.


Показать полный путь. PWD

Для того чтобы понять в каком разделе и каталоге сейчас находитесь:

pwd

Если находимся в каком-либо каталоге и надо узнать полный путь (например находимся в системном разделе, каталог app):

pwd

выдаст сообщение:

/system/app/


Создать пустой файл. TOUCH

Чтобы создать текстовый файл:

touch

Создадим файл 666.txt в каталоге /sdcard:

touch /sdcard/666.txt


Создание резервной копии с раздела и восстановление.
DD IF

dd if

Создания резервной копии на Sd карту

dd if=dev/block/mmcblk0p1 of=sdcard/efs.img

Восстановления раздела с резервной копии с Sd карты

dd if=/sdcard/efs.img of=/dev/block/mmcblk0p1


Просмотр занимаемого места. DU

Для того, чтобы понять сколько занимает что-либо:

du

Пример как использовать:

du systcode

Выставление permission, прав файлам и директориям

Чтобы узнать какие права у файлов и директорий нужно написать такую команду

ls -n

Права Доступа (permission)

И так мы знаем, что существуют пользователи, группы. Теперь поговорим о правах доступа. Для чего этого необходимо? Например у вас есть директория в которой находятся личные файлы. Чтобы вы, владелец, например могли редактировать, просматривать файлы, группа, только видеть данные, файлы, а остальные пользователи которые не входят ни в одну из групп и не являются владельцами, вообще не могли ничего сделать, вот поэтому и необходимы права доступа.

Права на файл могут обозначаться цифрами и буквами:

 ЦифрамиБуквами
Чтение4r
Запись2w
Выполнение1x
 0

Значения прав в цифрах суммируются:

  • полные права (rwx) 7  = 4 + 2 +1
  • чтение и запись (rw-) 6  = 4 + 2 + 0
  • чтение и выполнение (r-x) 5 = 4 + 0 + 1
  • только чтение 4 (r—) = 4 + 0 + 0
  • только запись 2 (-w-) = 0 + 2 + 0
  • права отсутствуют (—) 0 = 0 + 0 + 0
chown и chmod

Для каждого файла и директории назначаются отдельно права для владельца, группы и остальных пользователей.

  ВладелецГруппаОстальные
  ugo
права доступа буквыправа доступа цифры   
rwxrwxrwx777читают, записывают, выполняют все
rwxr-xr-x755читает, записывает, выполняетчитать и запускать
rw-r—r—644чтение и записьтолько чтение
r———400читает только владелец

Изменять права доступа на файл или директорию командой chmod можно как числами, так буквами.

Назначение прав доступа цифрами

Для того, чтобы изменить права файлу или директорию командой chmod используя цифры введите команду:

sudo chmod 755 text.txt

Для директорий необходимо после chmod добавить ключ -R.

Назначение прав доступа буквами

Для новичков изменять права доступа букавами будет слегка сложней, но данные знания пригодятся.

Как вы знаете что есть владелец, группа, остальные пользователи, они обозначаются следующим образом:

uuserВладелец
ggroupПользователи, входящие в группу
oothersОстальные пользователи
aallВсе пользователи

Права доступа можно назначать, убирать или присваивать:

+добавить права
удалить права
=установить права

Установить права на файл «rwxr-xr-x» (755):

sudo chmod u=rwx,g=rx,o=rx text.txt

Добавить права на выполнение владельцу, удалить выполнение для группы, удалить запись и выполнение для остальных:

sudo chmod u+x,g-x,o-wx text.txt

Добавить возможность всем (пользователь, группа. остальных) читать:

sudo chmod a+r text.txt

Для изменения прав доступ директориям необходимо использовать ключ -R:

sudo chmod -R a+r imya_papki

Жесткие и символические ссылки

В Linux в том числе Android существует такое  понятие как ссылки — что на нормальном привычном языке звучит «ярлык». Бывают два типа ссылок это:

  • Жесткие ссылки
  • Символические ссылки или симлинки

В чем различия жестких и символических ссылок?

Жесткие ссылки — создают точную копию или текущий снимок файла или папки. Это очень похоже на копирование, но это все же не копирование.

Символические ссылки — создают ярлык которые указывают точное место файла или папки куда ярлык ссылается. Если файл или папку переместить, символическая ссылка будет битая. Чтобы наглядно понять что такое символическая ссылка — в Windows XP или Windows 7 есть ярлыки программ на рабочем столе, которые ссылаются в папку с программой, а точней exe-шник.

Как создать жесткие и символические ссылки

Жесткие ссылки можно создать командой:

ln

Жесткие ссылки можно создать командой:

ln -s

Leave a comment