2017-05-31 236 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

謝謝!這正是我一直在尋找的! –

相關問題