在我的android应用程序中执行adb shell命令

时间:2017-08-29 02:54:42

标签: java android shell adb

我需要在启动设备时应用某些adb命令。但是,当我启动我的应用程序时,我们需要它。

adb shell settings put global policy_control immersive.navigation=*

我在网上搜索了

Process p = Runtime.getRuntime().exec("settings put global policy_control immersive.navigation=*");
但不幸的是,这个命令并不起作用。如果我将手机插入PC并直接通过命令窗口运行adb命令 - 一切都很好。但是当我从应用程序执行它时 - 没有任何作用,我甚至没有在日志中看到任何相关的错误。

我也试过这个: https://www.learn2crack.com/2014/03/android-executing-shell-commands.html 和" ls / system / framework"等命令;工作。但是我需要的那个 - 不是。

我的设备是基于android 6.0.1运行miui 8的redmi note 3 pro。我的项目在Eclipse中。

是否可以在没有root的情况下执行这样的操作?

1 个答案:

答案 0 :(得分:0)

而不是:

Process p = Runtime.getRuntime().exec("settings put global policy_control immersive.navigation=*");

尝试:

Process p = Runtime.getRuntime().exec(new String[]{"settings", "put", "global", "policy_control", "immersive.navigation=*");

exec期望该命令是一个字符串数组,其中第一个字符串是命令,其余字符串是其参数