0 votes

Permission refusée lors de la tentative de montage d'un stockage USB

J'essaie de monter une clé USB en utilisant l'application "Émulateur de terminal" avec les commandes suivantes :

mount -t vfat -o rw /dev/block/sd* /storage/usb1

o

su mount -t vfat -o rw /dev/block/sd* /storage/usb1

Mais je reçois un permission denied message.

J'ai essayé différents binaires su. L'un d'eux est : http://e2e.ti.com/support/embedded/Android/f/509/t/279726.aspx

La commande shell que j'utilise fonctionne dans adb, mais je dois l'exécuter dans une application. Sans autorisations, je ne peux pas le faire.

Donc :

  1. Est-il possible de Rooter cette image Android (j'utilise la version de TI pour le Beaglebone Black) ?

  2. OU, puis-je donner des permissions en utilisant chmod ? Si je le peux, quels fichiers dois-je autoriser ?

  3. OU, mon approche est-elle erronée ?

0voto

Matthew Points 31

J'ai finalement trouvé la solution. Oui, ADB du Beaglebone est rooté mais il n'y a pas de binaire SU. Je n'ai donc pas pu exécuter ce code dans mon application :

Process proc = Runtime.getRuntime().exec("su mount -t vfat -o rw /dev/block/sd* /storage/usb1");

Mais j'ai finalement trouvé un programme pour Rooter le Beaglebone Black et installer un binaire SU valide. Vous pouvez le télécharger ici :

http://www.unlockroot.com/unlockroot.html

Mais attention ! Il installe aussi un tas de programmes indésirables sur votre ordinateur. Une fois que vous avez installé le programme, connectez votre Beaglebone via USB. D'abord vous devez déraciner le Beaglebone. Ouvrez donc le programme que vous avez téléchargé, et cliquez sur UNROOT. Cela prendra quelques minutes. Redémarrez ensuite votre Beaglebone et cliquez sur Root from program. Puis redémarrez votre Beaglebone à nouveau. Et voila :D Vous avez un Beaglebone 100% rooté avec un binaire SU valide.

Vous pouvez monter et démonter des supports USB et copier des fichiers dans votre application. Mais vous devez le faire de cette manière :

Process proc = Runtime.getRuntime().exec("su", null, null);
OutputStream os = proc.getOutputStream();

os.write(("mount -t vfat -o rw /dev/block/sd* /storage/usb1;
           cp -R /myFile /storage/usb1").getBytes("ASCII"));
os.flush();
os.close();
proc.waitFor();

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X