4 votes

Compiler et exécuter des applications Java à partir du terminal Android?

J'ai récemment acheté un clavier bluetooth pour ma tablette Motorola Xoom, et en réalisant que Busybox vient avec vi pour l'édition de texte, j'ai commencé à me demander comment écrire et exécuter du code sur Android.

J'ai essayé d'exécuter $ javac dans Terminal Emulator mais en vain; j'ai obtenu javac: introuvable

J'ai fouillé un peu et trouvé un post disant que puisque Android est exécuté sur Dalvik, il n'y a aucun moyen pour le JVM de s'exécuter, mais il semble contre-intuitif qu'un système d'exploitation construit en Java ne puisse pas compiler et exécuter un programme Java.

J'ai réussi à trouver une application appelée AIDE qui permet d'écrire et d'exécuter des applications Android (en Java), mais ce n'est toujours pas tout à fait ce que je recherche.

Je veux pouvoir compiler et exécuter une application en ligne de commande Java standard sur Android. Est-ce que quelqu'un sait comment faire cela?

2voto

John Dorian Points 161

J'ai trouvé une application sur le Play Store qui m'a permis de répondre à cette question. Ci-dessous sont les étapes que j'ai suivies pour exécuter javac et java.

Installer Terminal IDE

Allez sur le Play Store et installez Terminal IDE, cela supporte tout ce dont vous avez besoin pour écrire et exécuter des applications java : vim, javac, et java.

Une fois l'application installée, assurez-vous d'ouvrir l'application et d'aller dans Installer le système pour installer tout ce dont vous avez besoin.

Compiler et Exécuter le Programme

Appuyez maintenant sur le bouton Terminal IDE pour ouvrir le terminal.

Utilisez vim pour écrire et sauvegarder votre programme hello world.

Ensuite, pour l'exécuter, il doit être compilé en un fichier JAR :

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

Problèmes

Lorsque j'ai essayé de compiler et d'exécuter pour la première fois, j'ai obtenu

ERREUR DE NIVEAU SUPÉRIEUR INATTENDUE :
java.lang.RuntimeException: hello.class : fichier non lisible

Ce problème a été résolu en compilant et en exécutant en tant que superutilisateur. Voici la sortie complète du terminal de mon problème

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

ERREUR DE NIVEAU SUPÉRIEUR INATTENDUE :
java.lang.RuntimeException: hello.class : fichier non lisible
        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
#

Plus d'Informations

Vous trouverez tout ce que vous pourriez souhaiter savoir dans la section d'aide de l'application Terminal IDE, en particulier dans les sections Java du tutoriel.

1voto

kenneedham Points 92

Eh bien, que voulez-vous dire par un programme Java traditionnel? Je ne pense pas que quoi que ce soit au-delà des espaces de noms de base et des bibliothèques soit pris en charge et supporté sur Android. Donc, même si vous trouviez javac, il est peu probable que vous puissiez exécuter des programmes Java "complets" sur un appareil Android.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X