Cuando el software de Android se abre en ZIP, aparecerán varias carpetas. ¿Qué representan estas carpetas y para qué sirven?
AndroidManifest.xml
Este archivo debe ser definido e incluido por cada aplicación. Describe el nombre, la versión y los permisos de la aplicación. , referencias a bibliotecas, etc. Por ejemplo, si el apk se va a subir a Google Market, se deben realizar algunas configuraciones en este xml. AndroidManifest.xml en el apk está comprimido. La herramienta AXMLPrinter2 puede descomprimirlo usando el siguiente comando: java -jar AXMLPrinter2.jar AndroidManifest.xml
Directorio META-INF
META-INF. directorio Contiene el nombre de la aplicación, la versión, los permisos, las referencias a los archivos de la biblioteca, etc. El directorio META-INF contiene información de firma para garantizar la integridad del paquete apk y la seguridad del sistema. Cuando eclipse compila y genera un paquete apk, realiza cálculos de suma de verificación en todos los archivos que se empaquetarán y coloca los resultados del cálculo en el directorio META-INF. Esto garantiza que los archivos del paquete apk no se reemplacen aleatoriamente. Por ejemplo, si obtiene un paquete apk y desea reemplazar una imagen, un fragmento de código o una información de derechos de autor, es básicamente imposible descomprimirlo, reemplazarlo y volver a empaquetarlo. Esto dificulta la aparición de virus y modificaciones maliciosas y ayuda a proteger su sistema.
directorio res
El directorio res almacena archivos de recursos. Esto incluye imágenes, cadenas, etc.
directorio lib
El subdirectorio armeabi en el directorio lib almacena algunos archivos so. Algunas palabras sobre este lugar se descubren durante el proceso de desarrollo. Al empaquetar, eclipse empaquetará el archivo so de acuerdo con las reglas de nomenclatura del nombre del archivo (lib ****.so). El principio y el final deben ser "lib" y ".so"; de lo contrario, no se empaquetará. ", de lo contrario no se empaquetará en archivos apk. No se han probado otros entornos de desarrollo que no sean de Eclipse. Si usa el desarrollo de SDK y NDK, esta parte es muy importante, incluso puede empaquetar algunos archivos que no sean así en apk cambiando el nombre , específicamente cómo hacerlo depende de lo que desee hacer
Directorio de activos
El directorio de activos es donde almacena los archivos de configuración y se puede acceder a sus contenidos a través de la API correspondiente. cuando el programa se está ejecutando, consulte los ejemplos en el SDK: En el ejemplo \SDK\1.6\android-sdk-windows-1.6_r1\platforms\android-1.6\samples\ApiDemos del SDK, hay un com.example. ..ejemplo de android.apis.content, donde coloca un archivo de texto en el directorio de activos del proyecto y procesa el txt como un archivo normal. El activo también puede colocar otros archivos.
El procesamiento se realiza en ReadAsset. .java
classes.dex es un archivo de código de bytes de Java, generado después de compilar el código fuente de Java. Sin embargo, dado que la máquina virtual dalvik utilizada por Android es incompatible con la máquina virtual de Java estándar, el archivo dex es. A diferencia del archivo de clases, tanto la estructura del archivo como el código de operación son diferentes. Las herramientas de descompilación de Java comunes actuales no pueden procesar archivos dex. El emulador de Android proporciona una herramienta de descompilación de archivos dex, que se utiliza para iniciar el emulador de Android. the dex. Use adb push para cargar el archivo en el simulador, luego inicie sesión a través de adb shell, busque el archivo dex que desea verificar, ejecute dexdump y luego haga clic en el botón dexdump.
Luego inicie sesión a través de adb shell, busque el archivo dex que desea ver y ejecute dexdump xxx.dex. Dedexer, por otro lado, es la única herramienta de código abierto en Internet que descompila archivos dex y debes compilar el código fuente tú mismo.
resources.arsc
Archivo de recursos binarios compilado.