Esta pregunta contiene dos partes del proceso de construcción del proyecto Android
Y ejecución del archivo .apk para el proyecto
Proceso de construcción
Un proyecto típico de Android contiene archivos de código fuente,
Archivos de recursos (diseño, cadena y color xmls, Manifest.xml),
Biblioteca (o Bibliotecas) si ha utilizado bibliotecas externas.
Y algunos otros recursos, como las imágenes como recurso dibujable.
1.El proceso de compilación comienza con la compilación de archivos de recursos
Por Android Asset Packaging Tool (aapt). También se encuentra un archivo llamado R.java
Producido durante esta etapa que permite hacer referencia a Recursos de archivos fuente Java.
Por ejemplo, si crea un botón en el archivo layout.xml como
- ¿Qué es una SIM en capas?
- ¿Qué es la arquitectura x86?
- ¿Habrá algún sistema de temas en las próximas actualizaciones importantes de Android?
- ¿Cómo puedo rootear un Xolo Era 2?
- ¿Por qué la función de cambio de idioma en Android no se implementa de la misma manera que en el iPhone?
<Botón
android: id = “@ + id / button1”
.
.
“.
/>
su entrada equivalente se realizará en R.java como
ID de clase final pública estática {
public static final int button1 = 0x7f050005;
.
.
.
}
Esto le permite tener un código como
Botón bt = (Botón) findViewById (R.id.button1);
2. La herramienta aidl (lenguaje de definición de interfaz de Android) convierte cualquier interfaz AIDL en interfaz Java.
3. Un compilador JAVA compila todos los archivos java de su proyecto y genera los archivos de clase correspondientes.
[fuente: developers.android.com (proceso de construcción y ejecución)]
4. La herramienta dx convierte todos los archivos de clase de su proyecto en código de byte dalvik. Todos los archivos .class
se convierten en un archivo .dex (Dalvik ejecutable).
5. Todos los recursos compilados, recursos no compilados, archivos .dex son paquetes en el archivo .apk (archivo de paquete de la aplicación de Android).
Esto resulta Project-debug.apk
6. Debe firmar su aplicación que luego da como resultado Project-release.apk
Proceso de ejecución:
Dalvik es la máquina virtual de proceso del sistema operativo Android.
Todo el código de byte dalvik en los archivos dex se ejecuta a través de esta máquina virtual. Puedes pensar tu apk como archivo jar. Los archivos dex como archivos de clase
y la VM Dalvik como JVM.
Puede explorar más sobre DVM en
Comprender la máquina virtual Dalvik
ACTUALIZAR:
El 25 de junio de 2014 se anunció que ART reemplazará completamente a Dalvik. Y ART será el tiempo de ejecución predeterminado en las nuevas versiones del sistema operativo Android