Question de base sur la BAD.
adb root
_ redémarre adb en tant que root. Mais ce que je veux, c'est le redémarrer après un certain temps.
J'ai essayé ce qui suit:
adb kill-server
adb start-server
ça ne marche pas ..
ps -A
-> a noté le nombre de processus de adb et l'a tué .. même cela n'a pas fonctionné. Enfin, je redémarre mon appareil. Existe-t-il un moyen de revenir de adb root en adb général?
Merci.
Un peu tard, je suppose, mais voilà: si vous utilisiez "adb root", vous auriez le message suivant:
C:\>adb root
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
restarting adbd as root
pour sortir du mode racine, vous pouvez utiliser:
C:\>adb unroot
restarting adbd as non root
adb kill-server
et adb start-server
ne contrôle que le démon adb
du côté PC. Vous devez redémarrer le démon adbd
sur le périphérique lui-même après avoir restauré le programme service.adb.root
modification de propriété effectuée par adb root
:
~$ adb Shell id
uid=2000(Shell) gid=2000(Shell)
~$ adb root
restarting adbd as root
~$ adb Shell id
uid=0(root) gid=0(root)
~$ adb Shell 'setprop service.adb.root 0; setprop ctl.restart adbd'
~$ adb Shell id
uid=2000(Shell) gid=2000(Shell)
Essayez ceci pour vous assurer de récupérer votre Shell:
entrez adb Shell (racine). Ensuite, tapez ci-dessous comamnd.
stop adbd && setprop service.adb.root 0 && start adbd &
Cette commande va stop adbd
, puis setprop service.adb.root 0
si adbd
a réussi stop
ped, et finalement restart adbd
devrait le .root
Les propriétés ont été définies avec succès sur 0. Et tout cela se fera en arrière-plan grâce au dernier &
.
Je voudrais ajouter un peu plus d'explications à la réponse de @ user837048. Sur mon OS X Yosemite et Galaxy S3 qui est enraciné et utilise les microprogrammes CyanogenMod 11
et KitKat
, j’ai fait la procédure ci-dessous pour Enable
et Disable
invite racine.
S'il vous plaît assurez-vous ci-dessous
Sur votre système
Android SDK
Et que vous avez défini des chemins d'accès aux fichiers binaires. tapez which adb
sur votre shell. Cela doit vous donner quelque résultat. $ which adb /Applications/Android Studio.app/sdk/platform-tools/adb
Sur ton portable
ON
Apps and ADB
Si vous ne voyez pas Developer Options
Dans vos paramètres, sélectionnez Paramètres> À propos du téléphone. Faites défiler jusqu'à Build number
Et tapez 7 fois dessus. Je sais que c'est fou. Mais croyez-moi cela fonctionne: D
Connectez votre téléphone via un câble USB. tapez sur votre terminal computer's
$ adb Shell
vous verrez un message semblable, Si un message a été affiché sur votre téléphone portable, pour faire confiance à la connexion, appuyez sur 'Toujours faire confiance' et sur 'OK'
Shell@m0:/ $
maintenant tapez
Shell@m0:/ $ id
uid=2000(Shell) gid=2000(Shell) groups=1004(input),1007(log),1011(adb),1015(sdcard_rw),1028(sdcard_r),3001(net_bt_admin),3002(net_bt),3003(inet),3006(net_bw_stats) context=u:r:Shell:s0
See you are not root
Quittez maintenant Shell, ce qui ramènera à computer's Prompt
Shell@m0:/ $ exit
Maintenant, activez root
$adb Shell
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
root@m0:/ #
Wow .. vous êtes root
root@m0:/ # id
uid=0(root) gid=0(root) context=u:r:Shell:s0
J'ai essayé plusieurs solutions pour revenir à normal non root Prompt
. Mais cela n'a pas fonctionné sauf la solution de @ user837048.
root@m0:/ # stop adbd && setprop service.adb.root 0 && start adbd &
[1] 32137
root@m0:/ #
$
Cela pourrait vous faire sortir de Adb Prompt
À l'invite normale. Maintenant, connectez-vous à nouveau.
$ adb Shell
shell@m0:/ $
bien .. vous êtes non root
Pour des étapes rapides, vérifiez simplement résumé. Si vous êtes intéressé à connaître les détails, continuez à lire ci-dessous.
adb est un démon. Faire ps adb
on peut voir son processus.
Shell@grouper:/ $ ps adb
USER PID PPID VSIZE RSS WCHAN PC NAME
Shell 133 1 4636 212 ffffffff 00000000 S /sbin/adbd
Je viens de vérifier quelles autres propriétés il utilise lorsque adb s’exécute en tant que root et utilisateur.
mode utilisateur adb:
Shell@grouper:/ $ getprop | grep adb
[init.svc.adbd]: [running]
[persist.sys.usb.config]: [mtp,adb]
[ro.adb.secure]: [1]
[sys.usb.config]: [mtp,adb]
[sys.usb.state]: [mtp,adb]
mode racine adb:
Shell@grouper:/ # getprop | grep adb
[init.svc.adbd]: [running]
[persist.sys.usb.config]: [mtp,adb]
[ro.adb.secure]: [1]
[service.adb.root]: [1]
[sys.usb.config]: [mtp,adb]
[sys.usb.state]: [mtp,adb]
On peut voir ça service.adb.root
est une nouvelle variable prop qui est apparue lorsque nous avons créé adb root.
Donc, pour revenir à adb en tant qu'utilisateur depuis la racine, je suis allé de l'avant et j'ai
setprop service.adb.root 0
Mais cela n'a rien changé.
Ensuite, je suis allé de l'avant et j'ai tué le processus (avec l'intention de le relancer). Le processus pid
de adbd
dans mon appareil est 133
kill -9 133
J'ai quitté Shell automatiquement après avoir tué le processus.
J'ai fait adb Shell
encore une fois, c'était en mode utilisateur.
SOMMAIRE:
Nous avons donc 3 étapes très simples.
(pid of adbd)
Après ces étapes, entrez de nouveau dans le shell avec adb Shell
et vous êtes de retour sur votre appareil en tant qu’utilisateur.