想要以编程方式使用"dumpsys meminfo“来打印出应用程序在某些时间点的存储器使用情况,
已添加<uses-permission android:name="android.permission.DUMP" />,并在模拟器上使用以下代码进行测试,但得到异常:"java.io.IOException:无法运行程序"adb":error=13,权限被拒绝“
fun dump() {
val process = Runtime.getRuntime().exec("adb shell dumpsys meminfo com.testapp.demo")
process.waitFor()
val bufferedReader = BufferedReader(InputStreamReader(process.getInputStream()))
var buffer: String? = ""
while (bufferedReader.readLine().also({ buffer = it }) != null) {
Log.i("+++", buffer)
}
buffer = ""
val buffered = BufferedReader(InputStreamReader(process.getErrorStream()))
while (buffered.readLine().also({ buffer = it }) != null) {
Log.w("+++", buffer)
}
}发布于 2020-10-12 10:15:47
Runtime.getRuntime().exec()在平板电脑内部运行,因此adb shell是不必要的命令。
你可以试试这个...?
Runtime.getRuntime().exec("dumpsys meminfo com.testapp.demo")https://stackoverflow.com/questions/62087121
复制相似问题