一:问题描述

    在已经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: null12-02 10:00:08.685 W/System.err: Caused by: java.io.IOException: Permission denied12-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信息如下:

二:解决办法

  出现这种问题,一般有三个原因

  1 /system/xbin/su   不存在

root@rk3288:/system/xbin # ls -al su-rwsr-x--- root  shell  67160 2017-10-16 15:01 su

   通过adb命令,看到是有su这个文件的,所以排除这个原因。

       2 /system/xbin/su 权限问题, 

 

  解决办法是执行如下命令,前提是android主板给予了执行chmod 06755命令的权限

chmod 06755 /system/xbin/su

  如果执行以上命令,出现如下问题,请联系设备厂商

root@rk3288:/system/xbin # chmod 06755 /system/xbin/suUnable to chmod /system/xbin/su: Read-only file system

  3 /system/xbin/su 不允许第三方应用获取root权限

网上的解决办法是:

root@android:/ $ susu: uid 10061 not allowed to suroot@android:/

总结

以上所述是小编给大家介绍的Android 程序执行Linux命令的解决方法及注意事项,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持! 

更多相关文章

  1. Android 的一些命令(补充中..)
  2. android系统权限SET_PREFERRED_APPLICATIONS怎么获取
  3. Android Framework 修改设备连接电脑时的显示名称
  4. 获取Android设备唯一标识(唯一序列号)
  5. Android设备屏幕问题
  6. Android adb input 命令介绍
  7. Android访问权限大全
  8. Android 访问权限设置

随机推荐

  1. android webview不支持input type=file
  2. 使用Android(安卓)Studio搭建Android集成
  3. 解决:Unable to connect to repository ht
  4. Android屏幕自适应的问题
  5. java.lang.ClassCastException: android.
  6. Android(安卓)Display System
  7. 申请GoogleMap apikey
  8. android BitmapFactory的OutOfMemoryErro
  9. Android开发环境配置
  10. 关于android UDP 客户端与delphi UDP服务