0
如何在android應用程序中運行adb shell am
命令。我試圖運行dumpheap命令。 Process p = Runtime.getRuntime().exec("am dumpheap -n 3554 /sdcard/memory");
。我收到以下錯誤。從android應用程序運行adb命令
java.lang.SecurityException: Requires permission android.permission.SET_ACTIVITY_WATCHER
at android.os.Parcel.readException(Parcel.java:1425
at android.os.Parcel.readException(Parcel.java:1379)
at android.app.ActivityManagerProxy.dumpHeap(ActivityManagerNative.java:3548)
at com.android.commands.am.Am.runDumpHeap(Am.java:721)
at com.android.commands.am.Am.run(Am.java:124)
at com.android.commands.am.Am.main(Am.java:81)
at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:235)
at dalvik.system.NativeStart.main(Native Method)
第三方應用程序不允許SET_ACTIVITY_WATCHER權限。 –
是的,你需要使用與系統相同的證書進行簽名,這對於普通開發者來說是不可能的。請參閱線程https://groups.google.com/forum/#!topic/android-developers/OvCcdvO6jZY –
是否存在與'dumpheap -n'命令等效的api? –