源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Android 程序执行Linux命令的解决方法及注意事项

  • 时间:2020-04-23 17:14 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Android 程序执行Linux命令的解决方法及注意事项
[b]一:问题描述[/b]     在已经root过的android设备下,app执行一个linux命令,app需要获取su权限,在某些android主板下会出现异常, Command: [su] Working Directory: null Environment: null,代码如下:
private void execLinuxCommand(String cmd){
  Runtime runtime = Runtime.getRuntime();
  try {
   Process localProcess = runtime.exec("su");
   OutputStream localOutputStream = localProcess.getOutputStream();
   DataOutputStream localDataOutputStream = new DataOutputStream(localOutputStream);
   localDataOutputStream.writeBytes(cmd);
   localDataOutputStream.flush();
  } catch (IOException e) {
   Logger.i(TAG+"strLine:"+e.getMessage());
   e.printStackTrace();
  }
 }
  由于确认设备已经root,并且上个月测试的时候,没有任何问题,然后今天换新设备测试时(新设备,旧设备android版本一致,均为5.1,并且都已经root),却出现如下异常:
java.io.IOException: Error running exec(). Command: [su] Working Directory: null Environment: null
12-02 10:00:08.685 W/System.err: Caused by: java.io.IOException: Permission denied
12-02 10:00:08.686 W/System.err:  at java.lang.ProcessManager.exec(Native Method)
12-02 10:00:08.686 W/System.err:  at java.lang.ProcessManager.exec(ProcessManager.java:209)
12-02 10:00:08.687 W/System.err:  ... 17 more
      通过异常信息判断,Process localProcess = runtime.exec("su");执行这句代码,没有权限,都root了还没权限,我去。。。ls -al  /system/xbin/su信息如下: [b]二:解决办法[/b]   出现这种问题,一般有三个原因   [b]1 /system/xbin/su   不存在[/b]
root@rk3288:/system/xbin # ls -al su
-rwsr-x--- root  shell  67160 2017-10-16 15:01 su
   通过adb命令,看到是有su这个文件的,所以排除这个原因。       [b]2 /system/xbin/su 权限问题,[/b]  [img]http://files.jb51.net/file_images/article/201712/201712060904451.jpg[/img]     解决办法是执行如下命令,前提是android主板给予了执行chmod 06755命令的权限
chmod 06755 /system/xbin/su
  如果执行以上命令,出现如下问题,请联系设备厂商
root@rk3288:/system/xbin # chmod 06755 /system/xbin/su
Unable to chmod /system/xbin/su: Read-only file system
[b]  3 /system/xbin/su 不允许第三方应用获取root权限[/b] 网上的解决办法是:
root@android:/ $ su
su: uid 10061 not allowed to su
root@android:/
[b]总结[/b] 以上所述是小编给大家介绍的Android 程序执行Linux命令的解决方法及注意事项,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程素材网网站的支持! 
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部