¿Los APK son independientes de la arquitectura?

Los dispositivos Android tienen diferentes procesadores como los procesadores ARM e Intel. ¿Pueden las aplicaciones de Android ejecutarse igual independientemente de la arquitectura que tenga el dispositivo? ¿O hay aplicaciones que solo se ejecutarán en arquitectura ARM, etc.?

Que yo sepa, las bibliotecas pueden ser archi-dependientes, no los softwares.

Respuestas (1)

Sí, las aplicaciones (APK) son independientes de la arquitectura.

Android se compone de 4 niveles principales.Arquitectura de Android

Las aplicaciones que escribe se compilan en código Dalvik EXecutable (DEX), que finalmente el kernel convierte en código ensamblador (de acuerdo con la arquitectura requerida) para enviarlo al procesador.

Entonces, el kernel es el último responsable de actuar de acuerdo con la arquitectura requerida y el desarrollador de la ROM lo compila en consecuencia.

El código DEX siempre es independiente de la arquitectura, por lo que los desarrolladores de aplicaciones no deben preocuparse por el tipo de procesador.

Gokul, hola, ¿es ahí donde entra en juego el compilador JIT? ¿Al menos para Android 4.x y dalvik runtime?
@moonbutt74 JIT se usa durante la compilación (los códigos dinámicos pueden o no compilarse) y finalmente se convierte en el código DEX correspondiente que se procesa en consecuencia mediante la ejecución. Más información aquí: m.pocketnow.com/2012/09/11/what-is-jit
Entonces, ¿realmente hay algún tipo de compilación local específica del dispositivo mientras la aplicación se instala en un dispositivo determinado?
Con respecto a la pregunta en mi último comentario, la respuesta principal aquí la responde muy bien: android.stackexchange.com/questions/82978/…