Подтвердить что ты не робот

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

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

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

Спасибо

4b9b3361

Ответ 1

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

adb shell pm list packages -f

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

adb pull <APK path from previous command>

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

aapt dump badging <pulledfile.apk>

Ответ 2

$ adb shell pm dump PACKAGE_NAME | grep -A 1 MAIN

Ответ 3

#!/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

Ответ 4

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

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

Линия Windows CMD:

adb shell dumpsys window windows | findstr <any unique string from your pkg Name>

Терминал Linux:

adb shell dumpsys window windows | grep -i <any unique string from your Pkg Name>

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

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

  • <PKg name>.<activity name> = <com.android.calculator2>.<Calculator>

    , поэтому .Calculator является нашей деятельностью

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

Ответ 5

Начиная с 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

Ответ 6

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

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

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

Ответ 7

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

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

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

Ответ 8

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

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