2011-11-17 14 views

Respuesta

15

Esta es una de esas cosas "fáciles una vez que sabes cómo": utiliza la herramienta aapt para inspeccionar el manifiesto.

aapt dump xmltree YourApp.apk AndroidManifest.xml | grep debuggable 

ese comando le dará un volcado de la forma compilada del AndroidManifest.xml Archivo- la salida será algo como

A: android: depurable (0x0101000f) = (tipo 0x12) 0x0

(Salida real desde el símbolo del sistema) en ese ejemplo, el 0x0 indica falso.

+0

Gracias, lo acaba de encontrar un método alternativo con 'l -a' también. – kabuko

+2

Si desea conocer el estado del indicador de depuración en el manifiesto, puede hacer lo que sugiere @Alexander. Sin embargo, si desea saber si un apk es realmente depurable, también necesita ver si el 'grep' está vacío. Si su manifiesto no tiene indicador de depuración, se establecerá de manera predeterminada en falso. De los documentos: 'Puede inhabilitar la depuración eliminando el atributo android: debuggable de la etiqueta en su archivo de manifiesto, o estableciendo el atributo android: debuggable en falso en su archivo de manifiesto'. Siempre puede mirar el manifiesto completo al eliminar '| grep debuggable' del código anterior. – tir38

9

Al parecer aapt puede hacerlo:

aapt l -a app.apk | grep debuggable 

devolverá o bien:

A: android:debuggable(0x0101000f)=(type 0x12)0xffffffff (means debuggable is true) 

o

A: android:debuggable(0x0101000f)=(type 0x12)0x0 (means debuggable is false) 
2

Para el usuario puede utilizar la ventana de comandos:

aapt l -a <apk with path> | findstr debuggable 

volverá o bien:

A: android:debuggable(0x0101000f)=(type 0x12)0xffffffff 
-> this means debuggable is true. 

o

A: android:debuggable(0x0101000f)=(type 0x12)0x0 
-> this means debuggable is false. 
Cuestiones relacionadas