получить запущенную активность имя пакета из adb

Есть ли способ получить загружаемую активность для пакета с помощью adb ? Для обычного телефона ( т. Е. Без вытаскивания apk из каталога /data/app и проверки с помощью appt ).

Я пробовал dumpsys, но он не включает информацию о запускаемой активности по умолчанию.

благодаря

Вам не нужен root, чтобы вытащить файлы apk из /data/app . Конечно, у вас могут не быть прав, чтобы перечислять содержимое этого каталога, но вы можете найти расположение файлов APK с помощью:

 adb shell pm list packages -f 

Затем вы можете использовать adb pull :

 adb pull  

и затем aapt чтобы получить нужную информацию:

 aapt dump badging  
 $ adb shell pm dump PACKAGE_NAME | grep -A 1 MAIN 
 #!/bin/bash #file getActivity.sh package_name=$1 #launch app by package name adb shell monkey -p ${package_name} -c android.intent.category.LAUNCHER 1; sleep 1; #get Activity name adb shell logcat -d | grep 'START u0' | tail -n 1 | sed 's/.*cmp=\(.*\)} .*/\1/g' 

образец:

 getActivity.sh com.tencent.mm com.tencent.mm/.ui.LauncherUI 

Я не нашел его в списке, так обновляя список.

Для этого вам необходимо установить apk и запустить его на телефоне для этого решения :

Линия Windows CMD:

adb shell dumpsys window windows | findstr

Linux Terminal:

adb shell dumpsys window windows | grep -i

ВЫХОД для пакета калькулятора:

 Window #7 Window{39ced4b1 u0 com.android.calculator2/com.android.calculator2.Calculator}: mOwnerUid=10036 mShowToOwnerOnly=true package=com.android.calculator2 appop=NONE mToken=AppWindowToken{29a4bed4 token=Token{2f850b1a ActivityRecord{eefe5c5 u0 com.android.calculator2/.Calculator t322}}} mRootToken=AppWindowToken{29a4bed4 token=Token{2f850b1a ActivityRecord{eefe5c5 u0 com.android.calculator2/.Calculator t322}}} mAppToken=AppWindowToken{29a4bed4 token=Token{2f850b1a ActivityRecord{eefe5c5 u0 com.android.calculator2/.Calculator t322}}} WindowStateAnimator{3e160d22 com.android.calculator2/com.android.calculator2.Calculator}: mSurface=Surface(name=com.android.calculator2/com.android.calculator2.Calculator) mCurrentFocus=Window{39ced4b1 u0 com.android.calculator2/com.android.calculator2.Calculator} mFocusedApp=AppWindowToken{29a4bed4 token=Token{2f850b1a ActivityRecord{eefe5c5 u0 com.android.calculator2/.Calculator t322}}} 

Основная часть: Первая линия :

Window #7 Window{39ced4b1 u0 com.android.calculator2/com.android.calculator2.Calculator}:

Первая часть вывода – это имя пакета:

com.android.calculator2

Вторая часть вывода (которая после / ) может быть двумя вещами, в нашем случае ее:

com.android.calculator2.Calculator

  1. . = .

    так. .Calculator – это наша деятельность

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

Начиная с Android 7.0 вы можете использовать команду adb shell cmd package resolve-activity чтобы получить активность установленного приложения по умолчанию следующим образом:

 adb shell "cmd package resolve-activity --brief com.google.android.calculator | tail -n 1" com.google.android.calculator/com.android.calculator2.Calculator 

Вот еще один способ узнать имя пакета приложений и активность запуска.

Шаг1: Запустите «adb logcat» в командной строке.

Шаг 2. Откройте приложение (либо в эмуляторе, либо в реальном устройстве) введите описание изображения здесь

Вы также можете использовать ddms для журналов logcat, где только для поиска имени приложения вы будете всю информацию, но вам нужно выбрать «Информация» вместо подробных или других параметров. проверьте это ниже.

введите описание изображения здесь

1) Запустите клиент Appium. Ниже приведенное окно отобразится, как только вы запустите клиент Appium. 2) Нажмите на значок Android, указанный выше, чтобы открыть настройки конфигурации.

3) Установите флажок «Путь к приложению».

4) Нажмите кнопку «Выбрать», чтобы найти файл apk, в этом случае я дал ему Amazon apk. введите описание изображения здесь введите описание изображения здесь

  • Как настроить цвет и текст режима действия?
  • Android - как отменить регистрацию получателя, созданного в манифесте?
  • Android - Воспроизведение mp3 с байта
  • Чтение файла изображения в bitmap из sdcard, почему я получаю исключение NullPointerException?
  • Как запустить службу, когда .apk установлен в первый раз
  • Android - Пользовательский диалог - Не удается получить текст из EditText
  • Создайте новый TextView программно, затем отобразите его под другим TextView
  • OnGlobalLayoutListener: устаревание и совместимость
  • Является ли Secure.ANDROID_ID уникальным для каждого устройства?
  • Xamarin Forms Android App Crashes запускает отладочную версию с помощью эмулятора VS Android
  • Android - поставщик файлов - отказ в разрешении
  • Давайте будем гением компьютера.