【代码块】Android代码执行ADB指令

时间:2025-01-28 08:03:59
class Cmd { private val TAG = "Cmd" val result = StringBuilder() fun run(cmd: String): Boolean { var bufferedReader: BufferedReader? = null var dos: DataOutputStream? = null var receive = "" try { Runtime.getRuntime().exec("su")?.run { // 经过Root处理的android系统即有su命令 Logger.d("Cmd run: $cmd") bufferedReader = BufferedReader(InputStreamReader(inputStream)) dos = DataOutputStream(outputStream).apply { writeBytes(cmd + "\n") flush() writeBytes("exit\n") flush() } bufferedReader?.run { while (readLine().also { receive = it } != null) { result.append("\n").append(receive) } } waitFor() } } catch (e: Exception) { return false } try { dos?.close() bufferedReader?.close() } catch (e: Exception) { return false } return true } }