在有根设备上,正确的解决方案是:
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
原始解决方案有效,但是chmod将返回未知目录。将chmod命令更改为/ data / data / *可以从Intellij的DDMS访问数据目录中的所有子文件夹。我假设Eclipse DDMS的解决方案相同。
更新
所以,我发现的很奇怪。我正在IntelliJ(Android设备监视器)中使用DDMS运行Nexus 6。我建立了一个小启动器应用程序。所述应用将数据保存到data / data / com.example.myapp / files中的.csv文件中
刚开始尝试在Nexus 6上访问此文件时,我发现我必须将设备置于根目录下。我可以看到数据文件夹,但尝试打开该文件夹将不起作用。如在其他地方在线所提到的,expand +将消失,然后在不久后重新出现(请注意,网络上有一些解决方案声称允许访问这些文件夹而不会生根,我直到很晚才发现它们,我不知道我是否宁愿不扎根((我宁愿能够手动完成它,也不愿依靠应用程序或命令提示符为我提供解决方案))。我扎根了6,然后再次尝试DDMS。
此时,它向我显示了数据文件夹,我可以展开该文件夹并查看com。目录,但我无法打开其中任何一个。那就是我发现上述解决方案的时候。最初的说明不适用于此部分:
chmod 777 /data /data/data /data/data/com.application.pacakage /data/data/com.application.pacakage/*
那就是我尝试发布的解决方案时:
chmod 777 /data /data/data /data/data/*
该解决方案似乎有效,但仅适用于某些文件夹。现在,我可以展开myapp文件夹,但是无法在其中扩展文件目录。
在这一点上,我玩了一段时间,然后弄清楚了为什么不只在我需要的目录上尝试而不是尝试这些通配符条目。
chmod 777 /data /data/data /data/data/com.example.myapp/*
其次是:
chmod 777 /data /data/data /data/data/com.example.myapp/files
这些命令使我可以扩展和查看应用程序目录中的文件,以确认.csv是否已正确保存。
希望这对某人有帮助。我为此奋斗了几个小时!
(更复杂的是,权限没有传递到传递到文件目录的.csv文件。我的文件目录权限为drwxrwxrwx,而我的log.csv文件权限为-rw-rw-- -..就这样