Sur un appareil rooté , la bonne solution est la suivante:
Open cmd
Change your directory and go into 'Platform tools'
Type 'adb shell'
su
Press 'Allow' on device
chmod 777 /data /data/data /data/data/*
Open DDMS view in Eclipse/IntelliJ and from there open 'FileExplorer' to get your desired file
La solution d'origine fonctionnait, mais le chmod retournerait un répertoire inconnu. La modification de la commande chmod en / data / data / * a donné accès à tous les sous-dossiers du répertoire de données à partir de DDMS dans Intellij. Je suppose que la même solution est vraie pour Eclipse DDMS.
MISE
À JOUR Donc, ce que j'ai trouvé est étrange. J'utilise un Nexus 6 utilisant DDMS dans IntelliJ (Android Device Monitor). J'ai construit une petite application de démarrage. Cette application enregistre les données dans un fichier .csv dans data / data / com.example.myapp / files
Lorsque j'ai commencé à essayer d'accéder à ce fichier sur mon Nexus 6, j'ai constaté que je devais rooter l'appareil .. Je pouvais voir le dossier de données, mais essayer de l'ouvrir ne fonctionnerait pas. Comme mentionné en ligne dans d'autres endroits, l'extension + disparaîtrait puis réapparaîtrait peu de temps après (remarque, il existe des solutions sur le Web qui prétendent autoriser l'accès à ces dossiers sans enracinement, je ne les ai trouvées que trop tard, et je suis Je ne sais pas si je préfère ne pas rooter de toute façon ((je préfère être en mesure de le faire manuellement que de compter sur une application ou une invite de commande pour me donner mes solutions))). J'ai rooté mon 6 et réessayé DDMS.
À ce stade, il m'a montré le dossier de données et j'ai pu développer le dossier et voir le com. répertoires, mais je n'ai pu en ouvrir aucun. C'est alors que j'ai découvert la solution ci-dessus. Les instructions initiales ne fonctionneraient pas sur cette partie:
chmod 777 /data /data/data /data/data/com.application.pacakage /data/data/com.application.pacakage/*
C'est alors que j'ai essayé la solution que j'ai publiée:
chmod 777 /data /data/data /data/data/*
Cette solution semble fonctionner, mais uniquement sur certains dossiers. Je pouvais maintenant développer mon dossier myapp, mais je ne pouvais pas développer le répertoire de fichiers qu'il contient.
À ce stade, j'ai joué pendant un certain temps, puis j'ai pensé pourquoi ne pas simplement l'essayer sur le répertoire dont j'ai besoin plutôt que d'essayer ces entrées génériques.
chmod 777 /data /data/data /data/data/com.example.myapp/*
Suivi par:
chmod 777 /data /data/data /data/data/com.example.myapp/files
Ces commandes m'ont permis de développer et d'afficher les fichiers dans le répertoire de mon application pour confirmer que le fichier .csv était correctement enregistré.
J'espère que cela aide quelqu'un. J'ai lutté avec ça pendant des heures!
(pour ajouter encore un peu, curieusement, les autorisations ne sont pas passées au fichier .csv qui est passé au répertoire des fichiers. mes autorisations de répertoire de fichiers lisent drwxrwxrwx et mes autorisations de fichier log.csv lisent -rw-rw --- - .. juste FYI)