Proceso de compilación de APK de Android
apk es la abreviatura de Paquete de Android. Durante el proceso de desarrollo normal, al hacer clic en el botón Ejecutar aplicación o escribir en la línea de comando
Android Studio iniciará el proceso de compilación y finalmente generará la salida. Un APK que queremos.
Introducción directa al sitio web oficial
Para los recién llegados, la imagen de arriba ya puede explicar el proceso de construcción de apk, pero para los desarrolladores de Android, aún necesitan conocer información más detallada sobre la construcción. proceso.
Los pasos y herramientas detallados correspondientes son los siguientes:
Los archivos de recursos (archivos en la carpeta res) se empaquetan a través de AAPT (Android Asset Packaging Tool) para generar R.java. tabla de clase (índice de recursos), archivos de recursos .arsc y archivos res.
Resources.arsc es la tabla de índice de recursos de una aplicación. La dirección de memoria del recurso se puede ubicar a través del archivo R.java y resources.arsc. La función del archivo resources.arsc es utilizar. el mismo ID. Según diferentes Configure la indexación para el mejor recurso que se muestra en la interfaz de usuario.
AIDL (Lenguaje de definición de interfaz de Android) es el lenguaje de definición de interfaz de Android y una implementación única de IPC (Comunicación entre procesos) proporcionada por Android.
Si hay un archivo Aidl, en esta etapa se generará el archivo de interfaz Java correspondiente.
Archivo R.java, archivo de código fuente del proyecto, archivo Aidl.java, en este paso genere el archivo .class a través de javac.
El archivo .class del código fuente y el jar o biblioteca de terceros se empaquetan en archivos dex a través de la herramienta dx
El archivo ejecutable de la máquina virtual Dalvik del sistema Android está en Formato DEX, por lo que lo anterior se incluirá aquí. El archivo .class generado en un paso y el .class al que se hace referencia en el jar de terceros y otros procesos se empaquetan en archivos dex a través de la herramienta dx
El La herramienta apkbuilder empaquetará todos los recursos no compilados, recursos .arsc y .dex. Los archivos se empaquetarán en un archivo apk completo
consejos:
La herramienta apksigner verificará la firma del apk sin firmar . Obtenga una apk firmada (signed.apk)
apksigner es el método de firma V2 del que Google ha retirado
Jarsigner es el método de firma V1 que se ha utilizado antes
Sí Obtenga información detallada ingresando apksigner --help en la línea de comando. Si no hay requisitos especiales, use el siguiente comando para completar la firma
Use aipalign en modo de lanzamiento para alinear, es decir, para alinear el procesamiento de apk firmado
El proceso principal de la llamada alineación es compensar todos los archivos de recursos en el paquete APK desde el punto de inicio del archivo a un múltiplo entero de 4 bytes, de modo que el acceso al El archivo apk a través del mapeo de memoria será más rápido. El objetivo principal de la alineación es reducir el uso de memoria en tiempo de ejecución.
zipalign es una herramienta para organizar archivos APK en la plataforma Android. Alinea los datos sin comprimir en el apk con 4 bytes. Después de la alineación, puede usar la función mmap para leer el archivo, al igual que leer la memoria. Operar en archivos ordinarios. Sin alineación de 4 bytes, debe leer explícitamente, lo cual es lento y consume memoria adicional.
Artículos de referencia:
Configuración y construcción de Android-Studio
Breve discusión sobre el proceso de empaquetado de Android
proceso de empaquetado de apk
¡FIN!