[英]Android: unable to read a file using bufferedReader whereas cat command run in adb shell works fine
[英]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.