2017-05-31 100 views
-2

我正在开发一个android应用程序,它将一些json文件写入外部存储。对于开发,我想看看写入的json文件。如何在Android 7.0仿真器上获得root访问权限?

我知道我可以在/data/data/package-name/中以root权限查看这些文件。

但是我怎样才能在Android 7.0模拟器上获得root权限?

我已经尝试过在亚行外壳su命令,也ADB根 - 但后来我得到这个错误信息:adbd cannot run as root in production builds

也许你有一些建议吗?

+1

是否可以选择尝试调试构建? – lucidbrot

+2

“我知道我可以在/ data/data/package-name /中以root权限查看这些文件” - 这不是[external storage](https://commonsware.com/blog/2014/04/08/)存储情况,外部storage.html)。这是[内部存储](https://commonsware.com/blog/2014/04/07/storage-situation-internal-storage.html)。所以......你在写内部存储器还是外部存储器? – CommonsWare

+0

我仍在使用调试版本。我正在使用context.getFilesDir()写入json文件到/ data/data//files。getPath()+“/”+ fileName –

回答

4

我正在写的JSON文件使用context.getFilesDir()/数据/数据//文件。的getPath()+ “/” +文件名

即内部存储,而不是外部存储。

使用adb shell run-as ... ???作为应用程序的用户运行命令,这将允许这些命令访问内部存储。这里,...是您的应用程序的应用程序ID,???是一个命令。

因此,例如,要列出getFilesDir()典型位置的内容为应用用户ID为com.foo.bar,使用:

adb shell run-as com.foo.bar ls /data/data/com.foo.bar/files 

用于调试的应用程序里,才能工作。

+1

谢谢!这正是我一直在寻找的! –

相关问题