drakaz Posté(e) 16 septembre 2009 Share Posté(e) 16 septembre 2009 (modifié) Je ne suis pas un fin développeur mais j'essaye, avec mon maigre bagage en java, de réaliser une mini application qui lance des scripts shell...tout fonctionne bien..sauf l'appel système :( Si quelqu'un de charitable veut bien m'aider.. :) Modifié 16 septembre 2009 par drakaz Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Androc Posté(e) 16 septembre 2009 Share Posté(e) 16 septembre 2009 En gros tu veux qu'une applet Java provenant d'internet puisse lancer n'importe quelle commande sur le client ? Intéressant ... ;) Il me semble que Microsoft fait des backdoors dans le genre sous forme d'ActiveX ou alors ils ne font pas exprès :) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
drakaz Posté(e) 16 septembre 2009 Auteur Share Posté(e) 16 septembre 2009 non rien a voir, je souhaite developper une petite app android, qui permet de lancer des scripts se trouvant sur le téléphone (je code pas assez bien pour tout faire en java :D) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Androc Posté(e) 16 septembre 2009 Share Posté(e) 16 septembre 2009 A mon humble avis, si l'unique raison qui te pousse à vouloir faire exécuter du shell par ton appli java est que tu ne sais pas encore le faire en java ... eh bien je dirais ... prends 5 minutes pour apprendre ça sera mieux :) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
drakaz Posté(e) 16 septembre 2009 Auteur Share Posté(e) 16 septembre 2009 en fait il y a surtout des commandes système qui n'existe pas en java, du coup je fait tout en système...et en plus j'ai pas 5 min :D Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Androc Posté(e) 16 septembre 2009 Share Posté(e) 16 septembre 2009 Il s'est écoulé 18 minutes entre ton premier post et ton dernier ... tu aurais donc eu le temps ;) Je ne peux pas t'aider techniquement car je ne me suis pas encore penché sur le SDK Android, mais je pense qu'il y a sans doute moyen de faire ce que tu veux faire autrement que comment tu veux le faire. Mais pour essayer de cerner ton problème ... quand tu dis tout fonctionne bien..sauf l'appel système ça veut dire quoi ? Ton appli plante ? Tu as un message d'erreur ? Un code de retour de la fonction système qui n'est pas documenté ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
drakaz Posté(e) 16 septembre 2009 Auteur Share Posté(e) 16 septembre 2009 en fait ca répondait rien du tout, mais ca ne lançais surtout rien. J'ai modifier la commande par hasard et tout fonctionne...no comment :D Process process = Runtime.getRuntime().exec("/system/bin/su /system/xbin/camenable"); Bon par contre j'ai toujours un probleme pour lancer un process de la même manière, mais qu'il reste en tache de fond.. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Androc Posté(e) 16 septembre 2009 Share Posté(e) 16 septembre 2009 (modifié) Avec linux pour que ça tourne en tâche de fond, il faut terminer ta commande par un espace suivi d'une esperluette (&) Genre : > superBinaire & Donc essaye : Process process = Runtime.getRuntime().exec("/system/bin/su /system/xbin/camenable &"); C'est peut être pas le mieux mais dans un premier temps ça peut te dépanner si ça fonctionne. Modifié 16 septembre 2009 par Androc Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
drakaz Posté(e) 16 septembre 2009 Auteur Share Posté(e) 16 septembre 2009 oui je connais très bien mais ca ne plait pas a java on dirait :D Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
drakaz Posté(e) 16 septembre 2009 Auteur Share Posté(e) 16 septembre 2009 Finalement j'ai simplement utilisé un nouveau thread..ca roule :) class logcat implements Runnable { public void run() { Process process = null; String[] env = {"com.android.galaxo"}; try { process = Runtime.getRuntime().exec("/system/bin/su /system/xbin/logcat_to_sd"); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Androc Posté(e) 16 septembre 2009 Share Posté(e) 16 septembre 2009 Eh bien tant mieux :) Si quelqu'un de calé au niveau du SDK Android peut confirmer que c'est la "bonne solution" ou que "c'est moche mais si il veut faire ça, c'est à peu près le seul moyen" ça serait bien ;) Comme ça, non content d'avoir trouvé ta solution tu progresserais vers les cimes divines de la jolie programmation sur Android. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
drakaz Posté(e) 16 septembre 2009 Auteur Share Posté(e) 16 septembre 2009 Ca serait le sumum ;) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
popolbx Posté(e) 16 septembre 2009 Share Posté(e) 16 septembre 2009 sinon ya le NDK et là tu le fais à la POSIX ^^ (mais un peu lourd de se taper la compil d'une librairie pour ça. Tu aura juste un pb avec ton thread : lorsque ton applie se termine, le process lancé va planter non ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
drakaz Posté(e) 16 septembre 2009 Auteur Share Posté(e) 16 septembre 2009 En fait ca ne plante pas car ca fork un process a part Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.