No soy un desarrollador de Android pero hago otras cosas.
Acabo de rootear mi teléfono así que estaba jugando con un shell y estaba tratando de compilar algunos paquetes c y se dio cuenta de que no hay compilador c....OK
Seguro que debe haber Java, ¿no? Lo he intentado y tampoco consigo que funcione el comando Java o javac. Cómo es posible si las aplicaciones de Android están escritas en Java?
2 votos
En primer lugar, porque los dispositivos Android están pensados para los usuarios finales (seguro que también para los desarrolladores, pero son una minoría ;) En segundo lugar, tu PC tampoco venía con un compilador, ¿verdad? Así que, en tercer lugar, es posible que tengas que instalar uno. Hay varios IDEs disponibles que se ejecutan en Android - pero este sitio no es para las recomendaciones de software :)
0 votos
Entiendo esa parte....pero ¿cómo se ejecutan las aplicaciones sin Java?
1 votos
La ejecución de aplicaciones ya compiladas no necesita que se instale un compilador, ¿verdad? No las ejecutamos desde el código fuente :) Sin embargo, dependiendo de la versión de Android, hay alguna optimización de bytecode realizada por el motor Dalvik (< 5.0) o el ART (5.0+), pero eso es algo diferente. Para darte una pista: Para ejecute una aplicación Java en un PC, necesita el JRE (Java Runtime Environment) - para compilar una aplicación Java a partir de su fuente se necesita el JDK (Java Development Kit). Dos pares de zapatos diferentes, aunque el segundo contiene el primero :)
0 votos
Bien, creo que pensé que el comando java que intenté ejecutar era parte del jre. ¿No?
0 votos
Tal vez desee consultar nuestro sala de chat - los comentarios no son para discutir :) Respuesta corta: para compilar, definitivamente no. Y mientras que las aplicaciones de Android están escritas principalmente en Java, las cosas son un poco diferentes aquí. Es demasiado profundo para este sitio, que es para los usuarios finales.
0 votos
Las aplicaciones son lanzadas por el Gestor de aplicaciones que forma parte de am.jar . Para iniciar una aplicación Android, es necesario utilizar el
am
que llama a un script, que establece el am.jar comoCLASSPATH
y luego ejecutaexec app_process $base/bin com.android.commands.am.Am "$@"
(base
ser/system
). Mira en el interior /system/bin/am para más detalles.0 votos
Android no ejecuta bytecode de Java porque utiliza Dalvik VM. Y los desarrolladores distribuyen paquetes apk, no código fuente Java/C#/kotlin