IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Command shell android


Sujet :

Android

  1. #1
    Membre actif
    Inscrit en
    Février 2013
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Février 2013
    Messages : 44
    Par défaut Command shell android
    Bonjour,
    Qui a une idée comment exécuter des commandes shell dans une application android sans utiliser adb!!!
    Est -il possible d’exécuter la commande dans une fichier en c et l'exécuter avec NDK!!

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    try {
        Process process;            
        process = Runtime.getRuntime().exec("ma commande");
    } catch (InterruptedException e) {e.printStackTrace();}
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre actif
    Inscrit en
    Février 2013
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Février 2013
    Messages : 44
    Par défaut
    merci pour votre réponse,
    j'ai essayé avec ce code pour déplacer une fichier vers la dossier data/local mais rien ne se passé et pas de deplacement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     Process sh;
    sh = Runtime.getRuntime().exec("/system/bin/cp /sdcard/fichier /data/local/");

  4. #4
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Le support de la commande cp est foireux sous android.

    Essaie d'utiliser dd à la place:

    Code shell : Sélectionner tout - Visualiser dans une fenêtre à part
    dd if=source_file of=dest_file
    Attention, il te faudra ajouter les droits idoines à ton application

  5. #5
    Membre actif
    Inscrit en
    Février 2013
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Février 2013
    Messages : 44
    Par défaut
    merci sinok pour votre réponse mais même problème

  6. #6
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    As tu au moins les droits nécessaires pour lire le fichier d'origine et écrire dans le répertoire de destination?

  7. #7
    Membre actif
    Inscrit en
    Février 2013
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Février 2013
    Messages : 44
    Par défaut
    oui j'ai ajouté la permission nécessaire pour lire la fichier du sdcard

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

  8. #8
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Le répertoire /data/local n'est pas accessible ainsi.

    Et tu n'y auras pas accès en écriture à moins d'avoir les droits root.

  9. #9
    Membre actif
    Inscrit en
    Février 2013
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Février 2013
    Messages : 44
    Par défaut
    j'ai exécuté mon application sur une émulateur rooter donc j'ai le droit ,
    avec invite de commande la commande fait la copie de fichier dans la dossier data/local

  10. #10
    Expert confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Billets dans le blog
    3
    Par défaut
    rooté ne veut pas dire que tous les utilisateurs (chaque application est un utilisateur différent) sont "root".
    rooté veut dire que l'application a accès à la commande "su" (enfin, si accepté par l'utilisateur dans le cas de SuperSU).

Discussions similaires

  1. []Commande shell
    Par phoenix736 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 09/10/2005, 20h31
  2. [Debutant] Commande shell
    Par drosophile dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 21/04/2005, 15h06
  3. commande shell dans un programme
    Par diefo dans le forum C
    Réponses: 3
    Dernier message: 15/08/2003, 13h37
  4. [VB6] comment savoir si la commande shell est terminée ?
    Par ghyscharlotte dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 30/07/2003, 19h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo