2013-06-03 6 views
0

Je suis en train d'exécuter un fichier .jar externe dans mon projet Android SDK ainsi:Android SDK: exécuter jar externe

ProcessBuilder pb = new ProcessBuilder("java.exe", "-jar", "C:/apache-tomcat-7.0.27/BlattA/src/viewer.jar"); 
     Process process = pb.start(); 
     InputStream is = process.getInputStream(); 

     byte[] bytes = IOUtils.toByteArray(is); 

quand je l'exécute dans tout autre projet Java EE, il fonctionne parfaitement, mais dans l'application Android, je reçois l'erreur: enter image description here

quelle est la cause et comment puis-je résoudre ce problème?

+3

OMFG ce n'est pas possible du tout! Android est un linux spécial pas une fenêtre. Même s'il y a un trou autre bytecode (dalvik VM), vous pouvez également accéder aux ressources de votre PC depuis votre téléphone avec un simple accès aux fichiers. Même si vous ajoutez cela comme libary cela ne fonctionnera pas parce que Android n'est pas un swing ou un autre framtwork ui commun d'un système de bureau. – rekire

+0

@rekire merci – IAM

Répondre

1

Ce n'est pas possible du tout!

Android est une sorte de linux spécial et ne supporte pas les fonctionnalités de Windows comme l'exécution de fichiers exe. A propos du fichier jar sur Android est un trou autre bytecode (dalvik VM) de sorte que vous pouvez également ne pas exécuter un fichier jar sans le convertir en un fichier dex appelé. Vous pouvez également accéder aux ressources de votre ordinateur depuis votre téléphone avec un simple accès aux fichiers.

Même si vous souhaitez que jar ou grep en quelque sorte sur l'air ou en ajoutant ce pot comme libary cela ne fonctionnera pas sur Android n'est pas Swing ou un autre cadre d'interface utilisateur commun à partir d'un système de bureau.

Ce que vous pouvez faire est de regarder le code source du fichier jar, par exemple. de la page d'accueil si c'est un projet open source et comprendre comment cela fonctionne. Que vous pouvez mettre en œuvre une nouvelle application Android qui fait ce travail que vous voulez avoir. Mais c'est beaucoup plus de travail que vous ne le pensez maintenant.

+0

avant que j'essaie de faire des bêtises à nouveau, est-ce que cela devrait fonctionner ?: puis-je ouvrir un script .php (placé sur un serveur externe, y accéder via http) depuis mon application Android, et ce script va alors simplement être lancé l'exécution du pot (plus besoin de sortir le programme)? – IAM

+0

Bien sûr, vous pouvez déclencher une action via http côté serveur :-) – rekire