Как открыть приложение через adb
Как запустить любое приложение Android в Windows 11
Microsoft сотрудничает с Amazon, чтобы реализовать интеграцию Amazon AppStore с Microsoft Store. На деле это означает, что вы не можете официально получить доступ к обширной библиотеке приложений в магазине Google Play. На данный момент для тестирования доступны даже не все приложения из Amazon AppStore. Инсайдеры могут протестировать лишь одобренные Microsoft и Amazon 50 избранных приложений.
К счастью, Microsoft сразу предусмотрела возможность отладки для Подсистемы Windows для Android. В результате вы можете получить доступ и отладку виртуального слоя Android в хост-системе Windows 11, используя инструмент Android Debugging Bridge (ADB). ADB можно использовать для установки любого стандартного пакета приложения Android (APK), в том числе для загрузки в подсистему приложений, которые отсутствуют в Amazon AppStore.
Итак, воспользуйтесь нашей инструкцией Как протестировать приложения Android на любом Windows 11 ПК, если вы не инсайдер и настройте Подсистему Windows для Android на своем компьютере Windows 11. Далее следуйте инструкциям, чтобы запустить свои любимые мобильные приложения.
Как установить в Подсистему Windows для Android любое приложения Android
Подсистема Windows для Android находится на стадии бета-тестирования. Приложения, одобренные Microsoft и Amazon, скорее всего, были дополнительно оптимизированы для подсистему, поэтому они обеспечили себе места в первой партии. Нет никаких гарантий, что другие приложения будут сразу работать корректно. Единственный способ проверить совместимость на практике — запустить приложение в Подсистеме Windows для Android.
Чтобы загрузить любое приложение для Android в подсистему Windows 11 для Android, выполните следующие действия:
(Вместо IP-адреса подставьте свой IP-адрес, полученный на предыдущем шаге).
Обратите внимание, что неофициальные приложения будут иметь доступ к сети. Таким образом, вы можете установить и использовать популярные мобильные браузеры внутри подсистемы Windows для Android, например Firefox. Браузеры можно использовать для загрузки других приложений. Windows 11 также позволяет применять правила брандмауэра для приложений Android. Хотя можно установить приложение, зависящее от Служб Google, оно не запуститься из-за их отсутствия. В качестве обходного варианта можно воспользоваться microG.
Также доступен относительно простой способ для обхода региональных ограничений для использования Amazon Appstore. При этом вам не нужно будет использовать VPN-сервис или изменять настройки региона в Windows 11. Вы можете еще больше «прокачать» подсистему Windows для Android, загрузив альтернативный клиент Google Play Store под названием Aurora Store.
Как открыть приложение через adb
Platform-tools: r31.0.3
ADB: 1.0.41 (31.0.3-7562133)
Fastboot: 31.0.3-7562133
Make_f2fs: 1.14.0 (2020-08-24)
Mke2fs: 1.46.2 (28-Feb-2021)
Последнее обновление утилит в шапке: 01.08.2021
Если что-то неправильно, то в списке подключенных устройств (List of devices attached) будет пусто.
adb push Копировать файл/папку PC->девайс.
adb pull [ ] Копировать файл/папку девайс->PC.
adb sync [ ] Копировать PC->девайс только новые файлы.
Ключи:
-l Не копировать, только создать список.
adb shell Запуск упрощенного unix shell.
Примеры использования
adb emu Послать команду в консоль эмулятора
adb install [-l] [-r] [-s] Послать приложение на устройство и установить его.
Пример: adb install c:/adb/app/autostarts.apk Установить файл autostarts.apk лежащий в папке /adb/app/ на диске с:
Ключи:
-l Блокировка приложения
-r Переустановить приложение, с сохранением данных
-s Установить приложение на карту памяти
Установка split apk
adb uninstall [-k] Удаление приложения с устройства.
Ключи:
-k Не удалять сохраненные данные приложения и пользователя.
adb wait-for-device Ждать подключения устройства.
adb start-server Запустить службу/демон.
adb kill-server Остановить службу/демон.
adb get-state Получить статус:
offline Выключен.
bootloader В режиме начальной загрузки.
device В режиме работы.
adb get-serialno Получить серийный номер.
adb status-window Непрерывный опрос состояния.
adb remount Перемонтировать для записи. Требуется для работы скриптов, которые изменяют данные на.
adb reboot bootloader Перезагрузка в режим bootloader.
adb reboot recovery Перезагрузка в режим recovery.
adb root Перезапуск демона с правами root
adb usb Перезапуск демона, прослушивающего USB.
adb tcpip Перезапуск демона, прослушивающего порт TCP.
adb ppp [параметры] Запуск службы через USB.
Note: you should not automatically start a PPP connection. refers to the tty for PPP stream. Eg. dev:/dev/omap_csmi_tty1
Параметры:
defaultroute debug dump local notty usepeerdns
fastboot erase Стереть раздел.
Разделы: boot, recovery, system, userdata, radio
Пример: fastboot erase userdata Стирание пользовательских данных.
fastboot update Прошивка из файла имя_файла.zip
fastboot flashall Прошивка boot + recovery + system.
fastboot getvar Показать переменные bootloader.
Пример: fastboot getvar version-bootloader Получить версию bootloader.
fastboot boot [ ] Скачать и загрузить kernel.
fastboot flash:raw boot [ ] Создать bootimage и прошить его.
fastboot devices Показать список подключенных устройств.
fastboot continue Продолжить с автозагрузкой.
fastboot reboot Перезагрузить аппарат.
f astboot reboot-bootloader Перезагрузить девайсв режим bootloader.
Перед командами fastboot можно использовать ключи:
-w стереть данные пользователя и кэш
-s Указать серийный номер устройства.
-p
Указать название устройства.
-c Переопределить kernel commandline.
-i Указать вручную USB vendor id.
-b Указать в ручную базовый адрес kernel.
-n
Указать размер страниц nand. по умолчанию 2048.
Пример ниже выводит в лог все сообщения с тэгом «ActivityManager» с приоритетом «Info» или выше, и сообщения с тэгом «MyApp» и приоритетом «Debug» или выше:
adb logcat ActivityManager:I MyApp:D *:S
Последний элемент в выражении фильтра *:S устанавливает приоритет «silent» для всех остальных тэгов, тем самым обеспечивая вывод сообщений только для «View» и «MyApp». Использование *:S – это отличный способ для вывода в лог только явно указанных фильтров (т.е. в выражении фильтра указывается «белый список» сообщений, а *:S отправляет все остальное в «черный список»).
При помощи следующего выражения фильтра отображаются все сообщения с приоритетом «warning» или выше для всех тэгов:
adb logcat *:W
Если logcat запускается на машине разработчика (не через удаленный adb shell), можно также установить значение выражения фильтра по умолчанию задав переменную окружения ANDROID_LOG_TAGS:
export ANDROID_LOG_TAGS=»ActivityManager:I MyApp:D *:S»
Следует обратить внимание что задав переменную окружения ANDROID_LOG_TAGS она не будет работать в эмуляторе/устройстве, если вы будете использовать logcat в удаленном shell или используя adb shell logcat.
Вышеописанная команда export работает в ОС *nix и не работает в Windows.
Контроль формата вывода лога
brief Показывать приоритет/тэг и PID процесса (формат по умолчанию).
process Показывать только PID.
tag Показывать только приоритет/тэг.
thread Показывать только процесс:поток и приоритет/тэг.
raw Показать необработанное сообщение, без полей метаданных.
time Показывать дату, время вызова, приоритет/тэг и PID процесса.
long Показывать все поля метаданных и отдельно сообщения с пустыми строками.
Как запустить приложение с помощью Android ADB tools?
Как отправить намерение с помощью инструментов ADB Android?
10 ответов
или вы можете использовать это непосредственно:
вы также можете указать действия, которые будут фильтроваться по вашему намерению-фильтры:
можно запустить приложение, указав имя пакета только с помощью обезьяна инструмент, следуя этой схеме:
команда используется для запуска приложения с помощью monkey tool, который генерирует случайный ввод для приложения. Последняя часть команды-integer, которая задает количество сгенерированных случайных входных данных для приложения. В этом случае число 1, которое фактически используется для запуска приложения (значок мыши).
или вы можете использовать это:
пользователи linux / mac также могут создать скрипт для запуска apk с чем-то вроде следующего:
создайте файл с именем «adb-run.sh» с этими 3 строками:
затем » chmod +x adb-run.sh-чтобы сделать его исполняемым.
теперь вы можете просто:
преимущество здесь в том, что вам не нужно знать имя пакета или имя запускаемой активности. Точно так же вы можете создать «adb-uninstall.sh приложение myapp.apk»
Примечание: это требует, чтобы у вас был aapt на вашем пути. Вы можете найти его в папке new build tools в SDK.
кроме того, я хочу упомянуть еще одну вещь.
например, если вы запускаете Play Store activity из adb shell am нажатие кнопкиназад‘ кнопка (аппаратная кнопка назад) не будет принимать вас ваше приложение, вместо этого он будет принимать вас предыдущую деятельность Play Store, если есть некоторые(Если там не было задачи Play store, тогда это займет у вас ваше приложение). flag_activity_new_task документация говорит :
Если задача уже запущена для действия, которое вы сейчас запускаете, то новое действие не будет запущено; вместо этого текущая задача будет просто выведена на переднюю часть экрана с состоянием, в котором она была последней в
поэтому, имейте в виду это adb shell am добавить FLAG_ACTIVITY_NEW_TASK флаг.
мы также можем запустить приложение, зная тип приложения и подавая его с данными:
эта команда отображает доступные видеоплееры для воспроизведения образец.3гп
/.файл и добавьте эти функции bash в конец файла
затем откройте папку проекта Android
без этого аргумента приложение не откроется на доске разработки без ключей / дисплея:
и терпит неудачу с ошибкой:
протестировано на HiKey960, Android O AOSP.
попробуйте это, для открытия приложения android photo & с конкретным файлом изображения, чтобы открыть в качестве параметра.
он будет работать на последнем android, не всплывающее окно не придет, чтобы выбрать приложение, чтобы открыть, как вы даете конкретное приложение, к которому вы хотите открыть изображение с
вы можете использовать приложение APK-INFO, Чтобы узнать список действий приложения в отношении каждого пакета приложений
ADB команды для Android
ADB для Android — что это такое?
ADB команды для Android
Работать с Android Debug Bridge лучше всего через командную строку Windows. Для этого в Windows XP нажмите «Пуск» и в поле ввода «Найти программы и файлы» введите «cmd», после этого нажмите «Enter». Если у вас Windows 7 и выше, нажмите «Пуск» и в поле «Выполнить» введите «cmd» и снова нажмите клавишу «Enter».
adb devices
Самая распространенная команда adb. При помощи нее можно определить, видит ли ваш ПК подключенное устройство. Если вы всё сделали нормально, то появится такая строка: «List of devices attached». После нее вы увидите серийный номер вашего смартфона или планшета и его состояние: «online» либо «offline».
Если пишет «offline», это значит, что аппарат находится в спящем режиме, если «online», то девайс готов выполнять ваши команды.
adb install
Благодаря этой команде вы можете устанавливать приложения на вашем смартфоне или планшете. Для этого нужно прописать путь, где находится APK файл:
adb intsall D:\papka_s_faylom\nazvanie_prilogeniya.apk
Чтобы не писать длинных путей, скопируйте файл в директорию android-tools. Тогда путь станет таким:
adb intsall nazvanie_prilogeniya.apk
adb uninstall
Вводить нужно аналогично предыдущей команде. При этом приложение удалится.
У этой команды есть интересная фишка. Если вы добавите ключ -k,то при удалении игры или программы их данные и кэш не удалятся, а останутся на Android устройстве.
adb push
Благодаря этой команде вы можете перекидывать файлы с компьютера на Android. Для этого вам нужно знать полный путь, где хранится файл и куда его перемещать.
adb push D:\papka_s_faylom\nazvanie_fayla/sdcard/Android
Чтобы не писать длинных путей, скопируйте файл в директорию android-tools. Тогда вводить нужно:
adb push nazvanie_fayla/sdcard/Android
adb pull
Эта команда копирует файлы с Android на компьютер. Вам нужно знать путь, где находится файл на смартфоне или планшете и указать место, где вы хотите сохранить файл. Если вы не укажете последнее, то файл сохранится в директории android-tools.
adb pull /sdcard/nazvanie_fayla\D:\papka_gde_sohranity
adb reboot
Эта команда перезагрузит ваш Android телефон или планшет.
adb reboot-bootloader
Благодаря этой команде вы можете напрямую загрузиться в режиме bootloader.
adb reboot recovery
Не все девайсы поддерживают данную команду. При помощи нее можно попасть в режим восстановления.
adb connect
При помощи этой команды можно подключить устройство к Wi-Fi сети. Для этого нужно знать ip адресс и порт устройства.
adb connect ip:port
adb shell
При помощи этой команды вы получаете полный доступ ко всем файлам на вашем устройстве.
Второй способ использования adb shell — это выполнение единичной команды Android shell с помощью такой конструкции:
fastboot devices
Чтобы проверить, видят ли ПК и Android друг друга, используем команду:
После её ввода должен появится серийный номер вашего аппарата.
fastboot oem unlock
При вводе этой команды можно разблокировать загрузчик телефонов и планшетов Asus и HTC. Когда ваше устройство находится в режиме bootloader, введите:
fastboot oem unlock
Также все ваши установленные программы и персональные данные будут потеряны.
adb logcat
При помощи этой команды можно вывести содержимое log файла: изменения, ошибки и т.д. Данные будут слишком быстро прокручиваться, поэтому верным решением будет сохранить их в один TXT-файл. Для этого введите:
adb logcat > filename.txt
adb sideload
Команда пригодится для владельцев устройств линейки Google Nexus. При помощи нее можно обновить прошивку девайса. Скачайте её на компьютер, подключите к нему Nexus, зайдите в режим Recovery, выберите пункт «Apply update from ADB» и после этого введите команду:
adb sideload name.zip
name.zip – это имя zip файла c прошивкой.
adb backup и adb restore
Команда adb backup создает бэкап, а adb restore проводит восстановление из бэкапа.
Русские Блоги
Наиболее полная коллекция команд ADB
Сборник команд АБР
Примечание: Поддержка некоторых команд может быть связана с версией системы Android и реализацией пользовательского ПЗУ.
Основное использование
Синтаксис команды
Основной синтаксис команды adb следующий:
Если подключено только одно устройство / эмулятор, вы можете его опустить [-d|-e|-s ] Используйте эту часть напрямую adb 。
Укажите целевое устройство для команды
Если подключено несколько устройств / эмуляторов, вам нужно указать целевое устройство для команды.
| параметр | смысл |
|---|---|
| -d | В качестве цели команды укажите единственное устройство Android, подключенное в данный момент через USB. |
| -e | Укажите единственный симулятор, в настоящее время работающий в качестве цели команды |
| -s | Укажите устройство / эмулятор с соответствующим serialNumber в качестве цели команды |
В выходной cf264b8f 、 emulator-5554 с участием 10.129.164.6:5555 Это серийный номер.
Например, вы хотите указать cf264b8f Используйте это устройство для запуска команды adb, чтобы получить разрешение экрана:
Также хочу дать 10.129.164.6:5555 Установить приложения на это устройство (Формат этой формы серийного номера: :
Обычно это беспроводное устройство или сторонний эмулятор Android, например, Genymotion.):
В случае нескольких устройств / симуляторов эти параметры используются для указания целевого устройства для команды. Ниже приведено упрощенное описание, которое повторяться не будет.
повернуть стоп
Запустите команду сервера adb:
(Как правило, нет необходимости вручную выполнять эту команду. Если вы обнаружите, что сервер adb не запускается при запуске команды adb, он будет автоматически активирован.)
Остановите команду сервера adb:
Посмотреть версию ADB
Запустите adbd от имени пользователя root
Принцип работы adb заключается в том, что сервер adb на ПК устанавливает соединение с демоном adbd на мобильном телефоне, а затем клиент adb на ПК передает команды через сервер adb, а adbd анализирует и запускает после получения команд.
Таким образом, если adbd выполняется с обычными разрешениями, некоторые команды, для выполнения которых требуются права root, не могут использоваться напрямую. adb xxx выполненный. Тогда ты можешь adb shell затем su После выполнения команды вы также можете разрешить adbd запускаться с правами root, которые могут выполнять команды с высоким уровнем привилегий по желанию.
Беги сейчас adb shell Чтобы увидеть, становится ли приглашение командной строки # Up?
Соответственно, если вы хотите восстановить adbd с привилегиями не-root, вы можете использовать adb unroot команда.
Укажите сетевой порт сервера adb
Управление подключением устройства
Запрос подключенных устройств / эмуляторов
offline —— Указывает, что устройство не подключено успешно или не имеет ответа.
device —— Устройство подключено. Обратите внимание, что это состояние не означает, что система Android была полностью запущена и работоспособна. Экземпляр устройства может быть подключен к adb во время процесса запуска устройства, но система будет в рабочем состоянии после запуска.
no device —— Нет подключения к устройству / эмулятору.
Приведенный выше вывод показывает, что три устройства / эмуляторы в настоящее время подключены, cf264b8f 、 emulator-5554 с участием 10.129.164.6:5555 Они их SN соответственно. Из emulator-5554 Название показывает, что это эмулятор Android, и 10.129.164.6:5555 Эта форма :
Общий ненормальный выход:
Нет устройства / эмулятора успешно подключен.
Устройство / эмулятор не подключен к adb или не отвечает.
USB-соединение
Чтобы нормально использовать ADB через USB-соединение, вам необходимо убедиться в нескольких моментах:
Состояние оборудования нормальное.
В том числе устройство Android находится в нормальном состоянии загрузки, USB-кабель и различные интерфейсы не повреждены.
Параметры разработчика и режим отладки USB для устройств Android включены.
Состояние диска устройства нормальное.
Проверьте состояние после подключения компьютера и устройства через USB-кабель.
Если вы можете увидеть
Соединение установлено успешно.
Беспроводное соединение (требуется USB-кабель)
Подключите устройство Android и компьютер, чтобы запустить adb в той же локальной сети, например, в том же WiFi.
Подключите устройство к компьютеру с помощью USB-кабеля.
Следует убедиться, что соединение успешно (запустить adb devices Посмотрите, может ли устройство быть в списке).
Пусть устройство контролирует соединения TCP / IP через порт 5555:
Отключите соединение USB.
Найдите IP-адрес устройства.
Подключите устройство по IP-адресу.
Вот Это IP-адрес устройства, найденный на предыдущем шаге.
Подтвердите статус подключения.
Если вы можете увидеть
Соединение установлено успешно.
Если вы не можете подключиться, убедитесь, что устройство Android и компьютер подключены к одному и тому же Wi-Fi, а затем снова запустите adb connect Этот шаг
Если это все еще не работает, передайте adb kill-server Перезапустите adb и попробуйте снова с самого начала.
Отключить беспроводное соединение
Беспроводное соединение (не нужно использовать USB-кабель)
Примечание: разрешение root требуется.
Установите эмулятор терминала на устройстве Android.
Устройства, которые уже были установлены, могут пропустить этот шаг. Адрес загрузки эмулятора терминала, который я использую:Terminal Emulator for Android Downloads
Подключите устройство Android и компьютер для запуска adb в той же локальной сети, например, в том же WiFi.
Откройте эмулятор терминала на устройстве Android и выполните команды в последовательности:
Найдите IP-адрес устройства Android.
Подключите устройство Android через adb и IP-адрес на компьютере.
Вот Это IP-адрес устройства, найденный на предыдущем шаге.
Если вы можете увидеть connected to :5555 Такой вывод означает, что соединение успешно.
Примечание к разделу 1:
Некоторым устройствам, таким как Xiaomi 5S + MIUI 8.0 + Android 6.0.1 MXB48T, может потребоваться перезапустить службу adbd до шага 5 и запустить на эмуляторе терминала устройства:
Если перезапуск не работает, попробуйте следующую команду:
Управление приложением
Посмотреть список приложений
Основной формат команды для просмотра списка приложений
То есть adb shell pm list packages Исходя из этого, вы можете добавить некоторые параметры для фильтрации и просмотра разных списков. Поддерживаемые параметры фильтра:
| параметр | Показать список |
|---|---|
| нет | Все приложения |
| -f | Показать файл apk, связанный с приложением |
| -d | Показывать только отключенные приложения |
| -e | Показывать только включенные приложения |
| -s | Показывать только системные приложения |
| -3 | Показывать только сторонние приложения |
| -i | Показать установщик приложения |
| -u | Содержит удаленные приложения |
| Название пакета содержит строка |
Все приложения
системные приложения
стороннее использование
Приложения, имя пакета которых содержит определенную строку
Например, для просмотра имени пакета содержится строка mazhuang Список приложений, команда:
Конечно, вы также можете использовать grep для фильтрации:
Установить APK
adb install Некоторые необязательные параметры могут использоваться для управления поведением установки APK. Доступны следующие параметры и их значения:
| параметр | смысл |
|---|---|
| -l | Установите приложение в защищенный каталог / mnt / asec |
| -r | Разрешить перезапись установки |
| -t | Разрешить установку приложения, указанного в AndroidManifest.xml android:testOnly=»true» Приложения |
| -s | Установить приложение на SDCard |
| -d | Разрешить понижение версии, чтобы перезаписать установку |
| -g | Предоставить все разрешения времени выполнения |
После запуска команды, если вы видите вывод, похожий на следующий (статус Success ) Представляет успешную установку:
Выше приведен вывод последней версии ADB v1.0.36, которая будет отображать процент выполнения push-файла apk на телефон.
Используя старую версию adb, вывод выглядит так:
И если статус Failure Это означает, что установка не удалась, например:
Выходные коды, значения и возможные решения для общих сбоев установки следующие:
Переустановка
adb install Введение во внутренние принципы
adb install На самом деле это делается в три этапа:
Нажмите файл apk в / data / local / tmp.
Позвоните в личку, чтобы установить
Удалите соответствующий файл apk в / data / local / tmp.
Поэтому при необходимости вы также можете выполнить этот шаг, чтобы выполнить процесс установки шаг за шагом.