Como dice el título, me gustaría poder determinar si un archivo APK tiene un conjunto de depuración configurado como verdadero o falso en una computadora sin tener que instalarlo en el dispositivo, ejecutarlo y ver si aparece en DDMS o no. .¿Cómo puedo detectar si un APK de Android tiene depuración configurable en verdadero o falso en su manifiesto sin instalarlo?
6
A
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.
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
- 1. ¿Cómo verificar si un parámetro es verdadero o falso?
- 2. ¿Cómo puedo convertir bool verdadero o falso a la cadena "Verdadero" o "Falso"
- 3. ¿Cómo puedo probar un nuevo idioma o marco sin instalarlo?
- 4. AutomaticMigrationsEnabled ¿es falso o verdadero?
- 5. ¿Cómo establecer las variables de python en verdadero o falso?
- 6. ¿Cómo determinar si hay una coincidencia y un retorno verdadero o falso en los rieles?
- 7. Devolver verdadero o falso al azar
- 8. ¿Cómo puedo memorizar un método que puede devolver verdadero, falso o nulo en Ruby?
- 9. Excel: ¿VLOOKUP que devuelve verdadero o falso?
- 10. Oracle: ¿Cómo puedo obtener un valor 'VERDADERO' o 'FALSO' al comparar dos NÚMEROS en una consulta?
- 11. ¿Cómo puedo detectar si hay un disquete en una unidad?
- 12. ¿Cómo detectar si un polígono tiene autointersecciones?
- 13. PHP booleano VERDADERO/FALSO?
- 14. Rieles (o Ruby): Sí/No en lugar de Verdadero/Falso
- 15. Android: Cómo instalar el Instrumentation APK en un AVD en un host sin cabeza
- 16. ¿Cómo funciona el verdadero/falso en PHP?
- 17. Código correcto para convertir bool [] -> "falso, verdadero, verdadero, falso"
- 18. Programado Leer estado de depuración en Manifiesto
- 19. ¿Devuelve verdadero/falso en el servicio REST?
- 20. ¿Cómo determinar correctamente si una cláusula de consulta de criterios JPA "existente" devuelve verdadero o falso?
- 21. ¿Cómo comprueba bitArray cualquier valor verdadero o falso?
- 22. ¿Cómo detectar si el iPhone tiene pantalla Retina o no?
- 23. Python: cómo detectar el intérprete de depuración
- 24. C++ palabras clave 'verdadero' y 'falso' de repente no es verdadero o falso en Visual C++ 6.0
- 25. Cómo comprobar el valor de retorno de la función si es verdadero o falso
- 26. ¿Es posible instalarlo en la aplicación iOS sin itunes?
- 27. ¿Cómo exporto un apk firmado con el certificado de depuración?
- 28. ¿Es posible detectar si un usuario tiene varias pestañas abiertas en su sitio?
- 29. Geolocalización HTML5 enableHighAccuracy ¿Verdadero, falso o mejor opción?
- 30. PHP detectar si la búsqueda tiene fecha o no
Gracias, lo acaba de encontrar un método alternativo con 'l -a' también. – kabuko
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