Возможно ли выполнить команды adb через приложение для Android?

Может ли кто-нибудь сказать, могут ли команды adb выполняться через мое приложение для Android. Если можно выполнить, как это можно реализовать?

Вы можете сделать это с помощью этого:

 Process process = Runtime.getRuntime().exec("your command"); BufferedReader bufferedReader = new BufferedReader( new InputStreamReader(process.getInputStream())); 

Не забудьте окружить его инструкцией try and catch.

Редактировать:

@Phix прав, ProcessBuilder будет лучше использовать.

Обычные приложения для Android имеют разные привилегии для процессов, запущенных через adb , например, процессы, запущенные через adb , разрешены для захвата экрана, тогда как обычных приложений нет. Таким образом, вы можете выполнять команды из своего приложения через Runtime.getRuntime().exec() , но у них не будет таких же привилегий, как если бы вы выполнили из adb shell .

adb shell, вызванный в Runtime.getRuntime (). exec не работает под пользователем оболочки. Он предоставляет оболочку, но с тем же владельцем процесса (например, u0_a44). Вот почему вся команда не работает.

проведение

 Runtime.getRuntime().exec("adb shell input keyevent 120"); 

Я получил следующую ошибку: java.io.IOException: Не удается запустить программу «adb»: error = 13, Permission denied.

проведение

 Runtime.getRuntime().exec("adb shell input keyevent 120"); 

Нет ошибки, но в то же время мой запрос не обрабатывается, чтобы сделать снимок экрана.

Я узнал, что это работало в более ранних версиях Android, но позже оно было удалено. Хотя я не могу предоставить источник здесь, почему он не работает.

Надеюсь, это помогает кому-то вроде меня, который пытается использовать этот подход, чтобы сделать снимок экрана, когда приложение не находится на переднем плане.

  • Как вы можете получить номер версии манифеста из XML-переменных приложения (макета)?
  • Android WebView onReceivedError ()
  • Android сохранить просмотр в jpg или png
  • Проверка программного режима энергосбережения
  • Сериализация и де-сериализация android.graphics.Bitmap в Java
  • Получить bitmap, прикрепленное к ImageView
  • Сбой сборки Android Studio с «Задачей» не найден в корневом проекте «Мой проект».
  • Выберите несколько изображений из фотоальбома на Android с помощью намерений
  • Как определить, совместимо ли устройство Android в паре с Android-функцией
  • Настроить Android Intent.ACTION_SEND
  • Разработка Android: использование образа из активов в HTML-формате WebView
  • Давайте будем гением компьютера.