¿Cómo puedo instalar archivos .jar en mi Android?


9

Descargué algunos juegos 3D, los descomprimí y obtuve archivos .jar. ¿Cómo puedo usarlos en Android? Tengo un Galaxy S con 2.1.

Respuestas:


13

Aunque Android usa Java, no admite archivos JAR normales. En su lugar, utiliza un formato específico de Android llamado APK. La principal diferencia es que Android no utiliza la máquina virtual Java normal, sino que contiene su propia máquina virtual Dalvik que está optimizada para Android.


quiere decir que no puedo instalar el archivo jar en android 2.1.
Jeevan Bhatt

55
@Jeevan Bhatt: Exactamente. Esto puede cambiar en el futuro (si alguien escribe una JVM para Android) pero no aguanto la respiración.
onik

Hice una búsqueda en Internet y llegué a saber que Android solo admite archivos apk, así que necesito convertir .jar en .apk mediante algún convertidor, ¿es cierto?
Jeevan Bhatt

44
Sí, hay algunos convertidores pero estos no son muy confiables. El problema es que Android usa una parte de toda la biblioteca de Java y agrega sus propias bibliotecas para controlar la mayoría de las funciones. Por ejemplo, las clases de la interfaz gráfica de usuario no se pueden usar en Android (por ejemplo, swing). Además, el convertidor debe reescribir todos los eventos de la interfaz de usuario, como la funcionalidad de la pantalla táctil / teclado. Aparentemente, algunos convertidores pueden hacer esto para los applets MIDP (J2ME) utilizados en teléfonos más antiguos, pero las aplicaciones Java normales (probablemente) no funcionarán. Puede probar los convertidores, pero lo más probable es que el resultado sea lento, tenga errores o se bloquee.
onik

9

Me gustaría estar parcialmente en desacuerdo con Ryan Conrad y Onik.

Tengo un Samsung Spica y viene precargado con una aplicación mientras ejecutaba v1.6 y ahora ejecuta 2.1 (ambas versiones oficiales de Samsung India), llamadas Java ME Apps.

Estoy ejecutando múltiples aplicaciones Java (destinadas a teléfonos que no son Android) a través de él.

Ambos son archivos JAR y una vez que se ejecutan a través de la aplicación Java ME, ambos se ejecutan como se esperaba.

En resumen, hay una manera de ejecutar aplicaciones JAR en Android. Sin embargo, estoy de acuerdo con todo lo demás mencionado WRT APKs y Dalvik.


Esa aplicación de Fórmula 1 que vinculaste parece ser una aplicación nativa de Android y no una aplicación java / j2me ..
Irfan

1
Ahora es ... cuando lo publiqué originalmente, no había una versión de Android, solo la J2ME. ;-)
Sparx

¿Cómo hiciste eso?
curioso

4

Android en realidad ni siquiera "usa" Java. El lenguaje en el que está escrito el código es Java, pero el SDK de Android toma el código de bytes compilado y lo convierte al código de bytes de Dalvik.

Por lo tanto, es realmente una idea errónea de que Android ejecuta Java. Android ejecuta Dalvik, que las bibliotecas principales se basan en el marco de Java, pero los archivos binarios finales no son los mismos y las máquinas virtuales también son completamente diferentes.

Al igual que la máquina virtual Dalvik no ejecutará el código de bytes de Java, la máquina virtual Java no ejecutará el código de bytes de Dalvik.

Probablemente sea posible convertir bibliotecas a Dalvik si todas las funciones están disponibles en Android (o en bibliotecas adicionales), pero cualquier cosa que tenga una interfaz de usuario Java no funcionará.


En realidad no estoy de acuerdo. Google no escribió su propio lenguaje llamado Java, simplemente creo que tomaron el OpenJDK y lo llamaron Dalvik, etc. para marketing.
YumYumYum

1
¿alguna vez has comparado el código de bytes de dalvik con el código de bytes de java, es diferente?
Ryan Conrad el

1
@Google: Eso es, literalmente, completamente incorrecto. Google utilizó la sintaxis de Java (y algunas bibliotecas), pero como señaló Ryan Conrad, el código de bytes es completamente diferente. No solo "renombraron" el Java JDK con fines de marketing. Vea la entrada de Dalvik en Wikipedia para más información.
eldarerathis

3

Si el archivo jar es para JavaME

Hay MicroEmulator que emula JavaME con la ayuda de JavaSE. Esto hace posible convertir estos archivos jar a un apk e instalarlo en su dispositivo. El proceso se describe aquí.

NetRunner proporciona una funcionalidad similar.


Flow, ese enlace de MicroEmulator parece haber cambiado a otra cosa, supongo. ¿Podría por favor actualizar la respuesta?
Señor del fuego

-3

No, no puede instalar archivos jar en Android, para instalar aplicaciones desde jar necesitamos soporte J2ME que no está en teléfonos Android.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.