Quoi que je tape après "adb Shell", il échoue avec Permission denied
:
D:\Android-sdk-windows\platform-tools>adb Shell find /data -name *.db
find: permission denied
D:\Android-sdk-windows\platform-tools>adb Shell test
test: permission denied
D:\Android-sdk-windows\platform-tools>adb remount
remount failed: No such file or directory
Des idées?
Selon adb help
:
adb root - restarts the adbd daemon with root permissions
Ce qui a effectivement résolu le problème pour moi.
Sans enracinement: Si vous ne pouvez pas rooter votre téléphone, utilisez la commande run-as <package>
pour pouvoir accéder aux données de votre application.
Exemple:
$ adb exec-out run-as com.yourcompany.app ls -R /data/data/com.yourcompany.app/
exec-out
exécute la commande sans démarrer un shell ni modifier la sortie.
La raison de "permission refusée" est parce que votre machine Android n'a pas été correctement rootée. Avez-vous vu $
après avoir commencé adb Shell
? Si vous avez correctement rooté votre machine, vous auriez plutôt vu #
.
Si vous voyez le $
, essayez de passer en mode super utilisateur en tapant su
. Si Racine est activé, vous verrez le #
- sans demander de mot de passe.
Vous devrez peut-être activer adb root à partir du menu des paramètres du développeur. Si vous exécutez adb root
à partir de la ligne de commande, vous pouvez obtenir:
root access is disabled by system setting - enable in settings -> development options
Une fois que vous activez l'option racine (ADB uniquement ou Apps et ADB), adb redémarrera et vous pourrez utiliser root à partir de la ligne cmd.
data
partition non accessible pour un utilisateur non root, si vous souhaitez y accéder, vous devez rooter votre téléphone.
adb root
ne fonctionne pas pour tous les produits et dépend du type de build du téléphone.
dans la nouvelle version sur Android studio, vous pouvez explorer le chemin /data/data
pour les applications déboguables.
Faites attention avec la barre oblique, changez "\" pour "/", comme ceci: adb.exe Push SuperSU-v2.79-20161205182033.apk/storage