2012-10-04 2 views
0

Eh bien, le titre le dit, mais le problème est le suivant:Comment ajouter .sh sur apk installer et les exécuter?

J'ai un fichier .sh avec une commande su touch /sdcard/test.txt pour voir si cela fonctionne. Mais je ne sais pas comment l'inclure lorsque l'utilisateur installe l'application. Comment pourrais-je l'ajouter? Je pensais à utiliser quelque chose comme:

su 
touch /sdcard/folder/path/test.sh 
vi /sdcard/folder/path/test.sh 

et il crée le fichier .sh, mais je ne sais pas comment envoyer la esc clé pour être en mesure de :wq Je sais comment exécuter le fichier, et oui mon le téléphone est enraciné. J'ai juste besoin de savoir comment l'inclure quand l'apk est installé et/ou comment envoyer la clé esc pour terminer la commande vi.

Merci

EDIT: J'ai créé un fichier appelé .shtest.sh et moi avons créé une application qui est pour les utilisateurs root. Le fichier test.sh a seulement touch /sdcard/test.txt juste pour voir si mon code java fonctionne. J'ai créé une application simple avec un bouton et à l'intérieur que je cliquez sur le bouton ceci:

test.setOnClickListener(new OnClickListener() 
     { 
      public void onClick(View v) 
      { 
       try 
       { 
        Process proc = Runtime.getRuntime().exec(new String[] {"su","-c","sh ./path where .sh will be/test.sh"}); 
        proc.waitFor(); 
       } 
       catch (Exception ex) 
       { 
        String TAG = null; 
        Log.i(TAG, "Doesn't work", ex); 
       } 
      } 
     }); 

mais je ne sais pas comment ou où je dois ajouter mon dossier test.sh donc lorsque l'utilisateur installer mon application le fichier y a-t-il. J'ai essayé, y compris

Process proc = Runtime.getRuntime().exec(new String[] {"su","-c","touch /sdcard/prueba.sh ; vi /sdcard/prubea.sh ; ****Don't know how to edit, use ESC key and :wq****}); 
        proc.waitFor(); 

Maintenant, quand je clique sur mon bouton l'application continue à fonctionner en attendant que je termine la commande vi, mais je ne sais pas comment car je vais devoir appuyer sur esc pour pouvoir :wq. .. Espérons que cela soit clair

Répondre

1

Si vous êtes sûr d'avoir installé vi sur le téléphone, recherchez le code hexadécimal dans ASCII pour ESC et écrivez-le dans le tampon d'entrée.

est ici un bon tableau ASCII cppreference.com

+0

Je ne comprends toujours pas comment je pourrais inclure ceci, pouvez-vous s'il vous plaît être un peu plus précis? –

+0

commander ce poste. il vous dit exactement comment le faire. http://stackoverflow.com/a/6953432/1269727 – toadzky

0

On dirait que vous essayez d'effectuer une action lors de l'installation. Ce How to start android service on installation suggère que ce n'est pas possible de le faire.

+0

Pas comme ça. Je veux que ce fichier soit ajouté pour que je puisse l'exécuter. Voici un exemple, j'ai téléchargé un apk appelé redémarrage à chaud, et dans le /data/data/com......quick_reboot/ il y a un dossier appelé fichiers et à l'intérieur il y a un fichier .sh que l'apk exécute pour redémarrer le téléphone . Comment pourrais-je faire ça? –

+0

Je ne comprends pas ce que vous faites. Exécutez-vous ces commandes dans "adb shell"? vi et esc a juste travaillé pour moi sans problème. Vous ne devriez même pas besoin de la commande tactile. –

+0

S'il vous plaît lire mon EDIT, j'espère que cela le rend clair –

Questions connexes