4 votos

¿Compilando y ejecutando aplicaciones Java desde un terminal Android?

Hace poco conseguí un teclado bluetooth para mi tablet Motorola Xoom, y al darme cuenta de que BusyBox viene con vi para la edición de texto, empecé a preguntarme sobre la escritura y ejecución de código en Android.

Traté de correr $ javac en Emulador terminal pero en vano; tengo javac: not found

Miré un poco y encontré un post diciendo que como Android se ejecuta en Dalvik no hay manera de que la JVM se ejecute, pero parece contraintuitivo que un sistema operativo construido en java no sea capaz de compilar y ejecutar un programa de java.

Me las arreglé para encontrar una aplicación llamada AIDE que permite escribir y ejecutar aplicaciones para Android (en Java), pero eso todavía no es lo que estoy buscando.

Quiero ser capaz de compilar y ejecutar una aplicación estándar de línea de comandos de Java en Android. ¿Alguien sabe una forma de hacer esto?

2voto

John Dorian Puntos 106

Encontré una aplicación en la tienda de juegos que me permite responder a esta pregunta. A continuación están los pasos que solía seguir para conseguir javac y java corriendo.

Instalar Terminal IDE

Ve a la tienda de juegos e instala Terminal IDE esto soporta todo lo necesario para escribir y ejecutar aplicaciones java: vim , javac y java .

Una vez que la aplicación esté instalada, asegúrate de abrirla e ir a Install System para instalar todo lo necesario.

Compilar y ejecutar el programa

Ahora presiona el botón Terminal IDE para abrir la terminal.

Utilice vim para escribir y salvar su programa de hola mundo.

Entonces para ejecutarlo tiene que ser compilado en un archivo JAR:

# javac hello.java
# dx --dex --output=hello.jar hello.class
# java -jar hello.jar hello

Dificultades

Cuando traté de compilar y ejecutar por primera vez, obtuve

UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.RuntimeException: hello.class: file not readable

Este problema se solucionó compilando y ejecutando como superusuario. Aquí está la salida de la terminal completa de mi número

terminal++@192.168.1.30:~$ javac hello.java
terminal++@192.168.1.30:~$ dx --dex --output=hello.jar hello.class

UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.RuntimeException: hello.class: file not readable
        at com.android.dx.util.FileUtils.readFile(FileUtils.java:63)
        at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:139)
        at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:113)
        at com.android.dx.command.dexer.Main.processOne(Main.java:247)
        at com.android.dx.command.dexer.Main.processAllFiles(Main.java:183)
        at com.android.dx.command.dexer.Main.run(Main.java:139)
        at com.android.dx.command.dexer.Main.main(Main.java:120)
        at com.android.dx.command.Main.main(Main.java:89)
        at com.spartacusrex.spartacuside.external.dx.main(dx.java:14)
        at dalvik.system.NativeStart.main(Native Method)
1 error; aborting
terminal++@192.168.1.30:~$ su
# dx --dex --output=hello.jar hello.class
# java -jar hello.jar hello
Hello world
#

Más información

Todo lo que podrías querer saber se puede encontrar en la sección de ayuda de la aplicación Terminal IDE, especialmente en las secciones de Java del Tutorial.

1voto

abjbhat Puntos 184

Bueno, ¿qué quiere decir con un programa regular de Java? No creo que nada más allá de los espacios de nombres básicos y las bibliotecas estén soportados y apoyados en Android. Así que aunque encontraras javac, es poco probable que pudieras "llenar" los programas de Java en un dispositivo Android.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X