Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Obtener el nombre de actividad lanzable del paquete de adb

¿Hay una manera de obtener la actividad de lanzamiento de un paquete de usar adb? Para un teléfono desarraigado (es decir, sin tener que extraer el apk del directorio / data / app e inspeccionarlo con appt).

He intentado dumpsys, pero no incluye información sobre la actividad de lanzamiento predeterminada.

Gracias

  • UISegmentedControl barra de estilo equivalaent en Android
  • Cambiar el color del texto de TimePicker
  • Obtención de la memoria intermedia OpenGL-ES Stencil Working
  • Android getActivity () no está definido
  • Métodos estáticos o singleton, ¿cuál elegir?
  • ¿Cómo ver qué archivos no se han guardado en Android Studio?
  • Android studio v0.3.2, gradle, google maps v2.0 No encontró la clase "com.google.android.gms.maps.MapFragment
  • Cambio de nombre de proyecto de Android Studio DIrectory de raíz de proyecto / Cambio de nombre de proyecto
  • 8 Solutions collect form web for “Obtener el nombre de actividad lanzable del paquete de adb”

    No necesita root para extraer los archivos apk de /data/app . Claro, es posible que no tenga permisos para enumerar el contenido de ese directorio, pero puede encontrar las ubicaciones de archivos de APK con:

     adb shell pm list packages -f 

    A continuación, puede utilizar adb pull :

     adb pull <APK path from previous command> 

    Y luego aapt para obtener la información que desea:

     aapt dump badging <pulledfile.apk> 
     $ 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' 

    muestra:

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

    No lo encontré listado para actualizar la lista.

    Necesita tener instalado el apk y ejecutado en frente en su teléfono para esta solución :

    Línea CMD de Windows:

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

    Terminal Linux:

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

    El paquete OUTPUT for Calculator sería:

     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}}} 

    La parte principal es, Primera Línea :

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

    La primera parte de la salida es el nombre del paquete:

    com.android.calculator2

    Segunda parte de la salida (que es después de / ) puede ser dos cosas, en nuestro caso es:

    com.android.calculator2.Calculator

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

      .Calculator es nuestra actividad

    2. Si la segunda parte es totalmente diferente del nombre del paquete y no parece contener el nombre del pkg que era antes / hacia fuera salida, entonces la segunda parte entera se puede utilizar como actividad principal.

    Desde Android 7.0 puedes usar el comando adb shell cmd package resolve-activity para obtener la actividad predeterminada de una aplicación instalada como esta:

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

    Aquí hay otra manera de averiguar el nombre del paquete de aplicaciones y la actividad del lanzador.

    Paso 1: Inicie "adb logcat" en el símbolo del sistema.

    Paso 2: Abra la aplicación (en emulador o dispositivo real) Introduzca aquí la descripción de la imagen

    1) Inicie el cliente de Appium. Abajo se menciona la ventana se mostrará, Una vez que comenzó el cliente de Appium. 2) Haga clic en el ícono de Android marcado arriba para abrir los ajustes de configuración.

    3) Marque la casilla de verificación Ruta de la aplicación.

    4) Haga clic en el botón Elegir para localizar su archivo apk, en este caso le he dado Amazon apk. Introduzca aquí la descripción de la imagen Introduzca aquí la descripción de la imagen

    También puede utilizar ddms para logcat logs donde sólo dando búsqueda del nombre de la aplicación que todos los info pero tienes que seleccionar información en lugar de verboso u otras opciones. Compruebe esta imagen debajo.

    Introduzca aquí la descripción de la imagen

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.