Aller au contenu

[Résolu] Lancer un binaire système depuis une application android


drakaz

Recommended Posts

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é par drakaz
Lien vers le commentaire
Partager sur d’autres sites

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é ?

Lien vers le commentaire
Partager sur d’autres sites

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..

Lien vers le commentaire
Partager sur d’autres sites

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é par Androc
Lien vers le commentaire
Partager sur d’autres sites

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();

}

}

}

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...