En la entrevista de Android de hoy se encontró una pregunta de este tipo y se le pidió que explicara en qué consisten las partes del archivo apk. ¿Cuál es la función de cada parte?
es la abreviatura de Paquete de Android, es decir, archivo de paquete de aplicación de Android o paquete de instalación de Android. Cada aplicación que se instala en la plataforma Android se compila y empaqueta en un archivo con extensión .apk.
APK
El archivo APK es un paquete de archivos compilado y generado utilizando el software especial eclipse, que contiene el código binario, recursos, archivos de configuración, etc. de la aplicación. El archivo APK en realidad está en formato zip y su extensión se cambia a apk. Puede abrirlo directamente usando el software de descompresión WinRAR/WinZIP/7-Zip en Windows. Después de descomprimir, verá varios archivos y carpetas. Un archivo APK típico generalmente incluye el siguiente contenido:
Archivo de configuración global del programa AndroidManifest.xml
classes.dex Código de bytes de Dalvik
resources.arsc Archivos de recursos binarios compilados
META-INF\ Este directorio guarda información de firma
res\ Este directorio guarda archivos de recursos
activos\ Este directorio puede guardar algunos archivos de configuración
p>La siguiente es una descripción básica de estos archivos y directorios:
?AndroidManifest.xml
Cada aplicación apk debe contener este archivo, que describe el nombre, la versión, permisos, bibliotecas referenciadas y otra información. archivoclasses.dex
classes.dex es un archivo de código de bytes de Java generado después de compilar el código fuente de Java. Dex es el nombre completo de la ejecución de la máquina virtual Dalvik, que es el archivo ejecutable de Android Dalvik. Puede utilizar herramientas de análisis para convertirlo a Java para que pueda leerse y comprenderse. resources.arsc
Archivo de recursos binarios compilado. Al embellecer el tema, debes procesar este archivo con frecuencia
. Directorio META-INF
El directorio META-INF almacena información de firma. Hay tres archivos de firma en total, que se utilizan para garantizar la integridad del paquete apk y la integridad del sistema. Cuando eclipse compila y genera un paquete apk, realiza cálculos de suma de verificación en 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 información de derechos de autor, es básicamente imposible descomprimirlo, reemplazarlo y volver a empaquetarlo. Esto dificulta la infección y la modificación maliciosa y ayuda a proteger su sistema. directorio res
El directorio res almacena archivos de recursos. Esto incluye imágenes, cadenas, etc.
Hay varios subdirectorios en res, principalmente dibujables, diseño y xml.assets
El directorio de activos almacena archivos de configuración y se puede acceder a sus contenidos a través de API relevantes cuando el programa se está ejecutando. .