adb logcat: Calling from not trusted UID

Рейтинг: 1Ответов: 1Опубликовано: 21.03.2023

При отправке запроса из кода:

fun threadOperation() {
val processBuilder = ProcessBuilder("adb shell logcat")
var process: Process? = null
try {
    process = processBuilder.start()
    val stderrStream = process.inputStream
    val stdoutStream = process.errorStream

    BufferedReader(InputStreamReader(stdoutStream)).use {
        while (true) {
            val line = it.readLine() ?: break
            logList?.add(line)
        }
    }
    BufferedReader(InputStreamReader(stderrStream)).use {
        while (true) {
            val line = it.readLine() ?: break
            logList?.add(line)
        }
    }
} catch (e: IOException) {
    print(0)
}

Получаю ошибку:

java.lang.SecurityException: Calling from not trusted UID

Запускаю из-под отдельного потока:

val threadSearchLog = Thread {
    threadOperation()
}

Ответы

▲ 1

Не хватало

<uses-permission android:name="android.permission.READ_LOGS"
tools:ignore="ProtectedPermissions" />