web-dev-qa-db-fra.com

Obtenir l'autorisation "root" pour Android App

Je voudrais savoir comment obtenir l'autorisation root de Android? Y a-t-il une application sur le marché Android?)

J'ai essayé la ligne de code ci-dessous pour lister les fichiers mais rien ne s'est passé

Process process = Runtime.getRuntime().exec(new String[] { "su", "-", "root"});

J'ai essayé de donner l'autorisation TEST_FACTORY dans mon fichier manifeste, mais j'ai eu une erreur "autorisé à l'application système"

Comment puis-je créer mon application système d'application?

Je veux de l'aide pour commencer avec ces trucs (faire une application si possible pour obtenir l'autorisation root) toute aide à ce sujet est très appréciée. Merci d'avance :)

7
ik024

Tout d'abord: notez que vous ne pouvez exécuter des commandes Shell qu'en utilisant su (= vous ne pouvez utiliser que des commandes Shell en tant que root, pas Java).

Deuxièmement: je ne sais pas si cela s'applique à toutes les applications su, mais c'est le message d'aide de su sur mon téléphone:

Usage: su [options] [--] [-] [LOGIN] [--] [args...]

Options:  
  --daemon                      start the su daemon agent  
  -c, --command COMMAND         pass COMMAND to the invoked Shell  
  -h, --help                    display this help message and exit  
  -, -l, --login                pretend the Shell to be a login Shell  
  -m, -p,  
  --preserve-environment        do not change environment variables  
  -s, --Shell SHELL             use Shell instead of the default /system/bin/sh  
  -u                            display the multiuser mode and exit  
  -v, --version                 display version number and exit  
  -V                            display version code and exit,  
                                this is used almost exclusively by Superuser.apk  

Cela signifie: vous devez exécuter su -c something (ou su -c something - root, mais root est de toute façon la valeur par défaut). il est essentiellement égal à su sur la plupart des systèmes Linux, à l'exception de daemon-thing, car il n'y a pas d'appels de démon ahndling su sur les systèmes linux classiques.

Si d'autres commandes su se comportent différemment (ce qui est possible), il est plus sûr d'ouvrir un flux vers un shell, d'exécuter su, d'évaluer son code retour, puis de procéder à l'exécution d'autres commandes, enfin d'exécuter exit.

3
Johannes H.

Theres une bonne réponse ici - Android: Comment obtenir un accès root dans une application Android?

"Pour autant que je sache, vous ne pouvez exécuter des commandes de ligne de commande qu'en utilisant les privilèges root. Vous pouvez utiliser cette classe générique que j'ai créée qui encapsule l'accès root dans votre code: http: //muzikant-Android.blogspot. com/2011/02/comment obtenir l'accès root et exécuter.html "

2
Nir Hartmann