web-dev-qa-db-fra.com

Android: adbd ne peut pas s'exécuter en tant que root dans les versions de production

J'ai un téléphone Android (2.3.6) avec des privilèges root non verrouillés. Depuis que je voudrais avoir accès à mon téléphone via mon ordinateur, aujourd'hui, j'ai installé QtAdb et Android SDK. Si j'ouvre une invite de commande et je fais

adb Shell su

je reçois

#

Et donc je suis capable de copier, supprimer, Push fichiers sur mon téléphone (sur le téléphone je reçois une notification en utilisant l'application "SuperSU".)

Mais si je lance QtAdb - sous Windows 7 - j'obtiens le message d'erreur suivant: "adbd ne peut pas s'exécuter en tant que root dans les versions de production". Quelque chose me manque? Quelque chose ne va pas avec QtAdb?

20
Dave

Le problème est que, même si votre téléphone est enraciné, le serveur "adbd" du téléphone n'utilise pas les autorisations root. Vous pouvez essayer de contourner ces vérifications ou d’installer un autre mot-clé sur votre téléphone ou d’installer un noyau/une distribution personnalisé qui inclut un mot-clé corrigé.

Ou , une solution beaucoup plus simple consiste à utiliser "adbd non sécurisé" dans chainfire, qui corrigera votre adbd à la volée. Ce n'est pas permanent, vous devez donc l'exécuter avant de démarrer le serveur adb (ou le configurer pour qu'il s'exécute à chaque démarrage). Vous pouvez obtenir l'application à partir du Google Play Store pour quelques dollars:

https://play.google.com/store/apps/details?id=eu.chainfire.adbd&hl=fr

Ou vous pouvez l'obtenir gratuitement, l'auteur a publié une version gratuite sur xda-developers:

http://forum.xda-developers.com/showthread.php?t=168759

Installez-le sur votre appareil (copiez-le sur l'appareil et ouvrez le fichier apk avec un gestionnaire de fichiers), exécutez "adb non sécurisé" sur l'appareil, et finalement tuez le serveur adb de votre ordinateur:

% adb kill-server

Et puis redémarrez le serveur et il devrait déjà être root.

25
David Ljung Madison