我有一個應用程序,我創建一個進程並調用dumpsys telephony.registry
命令獲取有關移動網絡狀態的信息。android dumpsys權限拒絕
String[] cmds={"dumpsys telephony.registry"};
Process p = Runtime.getRuntime().exec(cmds [0]+"\n");
然後我解析命令的結果。對於"ls"
或其他命令,它工作正常。對於dupmsys我得到Permission Denial: can't dump telephony.registry from pid-953, uid=10090
。我得到了dumpsys power
或其他dumpsys命令的相同錯誤結果。
我已經在Android清單設置DUMP權限android.permission.DUMP
像建議here
我認爲我這樣做的權利,因爲Android提供了此功能here
我也做步驟描述here強制日食允許我在清單中給予我的應用程序DUMP權限。
當我執行命令dumpsys我總是得到相同的結果
Permission Denial: can't dump telephony.registry from pid-953, uid=10090
難道我做錯了什麼?爲什麼android操作系統仍然拒絕我訪問轉儲服務?
PS我已經設置分鐘API 8,我正在測試運行在設備中的應用(ICS) API 15
我認爲在Android清單的權限是在那裏給開發人員這個選項。是否有辦法讓我做到這一點?或者Android不會讓我無論如何都不會冒險? –
@ malcolmthe4:「我有辦法做到嗎?」 - 根您的設備並將您的應用程序安裝在系統分區上。 – CommonsWare
我曾嘗試在dumpsys commnad之前運行su。我知道它的工作原理,但是這隻限於植根於設備上......沒有其他辦法嗎?我讀過這個https://gist.github.com/vnu/3258553 如何使用平臺密鑰簽署我的應用程序? –