web-dev-qa-db-fra.com

Comment utiliser la commande su sur un shell adb?

Je dois créer un script qui exécute beaucoup de choses sur un appareil Android. Mon appareil est enraciné. Lorsque j'entre dans le shell, je peux donner la commande su et cela fonctionne, mais j'ai besoin de passer cette commande comme ceci:

adb Shell "
su;
mv /sdcard/Download/app_test /data/local;
cd /data/local;
./app_test;
exit;
exit;
"

quand je mets des commandes avant le su cela fonctionne, selon ce que je lis, su crée un nouveau shell qui revient immédiatement, mais j'ai besoin de donner des commandes sur le shell su, comment puis-je faire cela?

20
Alex

Eh bien, si votre téléphone est enraciné, vous pouvez exécuter des commandes avec la commande "su -c".

Voici un exemple de commande cat sur le fichier build.prop pour obtenir des informations sur les produits de téléphones.

Shell adb "su -c 'cat /system/build.prop | grep" product "'"

Ceci appelle la permission root et exécute la commande à l'intérieur du ''

Remarquez les 5 guillemets, il est nécessaire de fermer TOUS vos guillemets ou vous obtiendrez une erreur.

Pour clarifier le format, c'est comme ça.

Shell adb "su -c '[votre commande va ici]'"

Assurez-vous que vous entrez EXACTEMENT la commande comme vous le feriez normalement lors de son exécution dans Shell.

Essayez, espérons que cela vous aidera.

26
A-Droid Tech

La commande su n'exécute rien, elle soulève simplement vos privilèges.

Essayez adb Shell su -c YOUR_COMMAND.

4
shkschneider

Par défaut, CM10 n'autorise que l'accès root à partir d'applications et non de la BAD. Allez dans Paramètres -> Options pour les développeurs -> Accès racine et changez l'option en "Applications et ADB". 

2