我使用adb和以下命令連接了我的實時設備:C:\>adb -s HT829GZ52000 shell$ lslssqlite_stmt_journalscachesdcardetcsystemsyssbinproclogo.rleinit.trout.rcinit.rcinit.goldfish.rcinitdefault.propdatarootdev$ cd datacd data$ lslsopendir failed, Permission denied看到訪問被拒絕,我感到很驚訝。為什么我不能使用這樣的命令行瀏覽目錄?如何在手機上獲得root訪問權限?
3 回答

FFIVE
TA貢獻1797條經驗 獲得超6個贊
從API級別8(Android 2.2)開始,對于可調試應用程序(除非要求發布版本,否則始終由Android Studio構建),您可以使用shell run-as命令以特定用戶/應用程序的身份運行命令或可執行文件或僅切換到應用程序的UID,即可訪問其數據目錄。
列出yourapp的目錄內容:
run-as com.yourapp ls -l /data/data/com.yourapp
切換到com.yourapp的 UID 并使用該uid運行所有其他命令(直到您調用exit):
run-as com.yourapp
cd /data/data/com.yourapp
ls -l
exit
注意1:某些HTC Desire手機存在已知問題。由于/data/data目錄的所有者/權限是非標準的,因此run-as命令無法在這些電話上運行。
注意2:如@Avio的評論所指出: run-as在任何版本(從7到10.1)上運行Cyanogenmod的Samsung Galaxy S手機,也存在問題,因為在此平臺上/data/data是的符號鏈接/datadata。解決該問題的一種方法是將符號鏈接替換為實際目錄(不幸的是,這通常需要root用戶訪問權限)。
- 3 回答
- 0 關注
- 1093 瀏覽
添加回答
舉報
0/150
提交
取消