簡體   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