繁体   English   中英

使用android代码运行adb shell命令

[英]Run adb shell command using android code

echo 0 > /sys/class/leds/button-backlight/brightness

上面的命令通过adb shell可以很好地工作,但是当我尝试运行我的代码时没有任何效果,这是我的代码。

Process mSuProcess;
mSuProcess = Runtime.getRuntime().exec("su"); 
DataOutputStream mSuDataOutputStream = new DataOutputStream(mSuProcess.getOutputStream()); 
mSuDataOutputStream.writeBytes("echo 0 > /sys/class/leds/button-backlight/brightness \n");
mSuDataOutputStream.flush();
mSuDataOutputStream.close();

请帮助我。

如果您正在使用的设备没有植根,则可能无法正常工作。

Google原始su二进制文件会检查UID并且仅在由root用户或shell用户运行时才起作用。 这就是为什么当您从adb shell交互式运行命令时它起作用的原因。 为了从Java应用程序运行此代码,您需要使用修补的su二进制文件-无需UID检查。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM