没有合适的资源?快使用搜索试试~ 我知道了~
Android 程序执行Linux命令的解决方法及注意事项
5星 · 超过95%的资源 2 下载量 154 浏览量
2021-01-20
10:15:33
上传
评论
收藏 56KB PDF 举报
温馨提示
试读
2页
一:问题描述 在已经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 loca
资源详情
资源评论
资源推荐
Android 程序执行程序执行Linux命令的解决方法及注意事项命令的解决方法及注意事项
一:问题描述一:问题描述
在已经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信息如下:
二:解决办法二:解决办法
出现这种问题,一般有三个原因
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/su
Unable to chmod /system/xbin/su: Read-only file system
3 /system/xbin/su 不允许第三方应用获取不允许第三方应用获取root权限权限
网上的解决办法是:
root@android:/ $ su
su: uid 10061 not allowed to su
root@android:/
总结总结
以上所述是小编给大家介绍的Android 程序执行Linux命令的解决方法及注意事项,希望对大家有所帮助,如果大家有任何疑
weixin_38544625
- 粉丝: 5
- 资源: 871
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- JavaScript《基于自动分析数据并给出营业建议的餐厅管理系统(接入AI) 》+源代码+项目说明及资料
- 355670834783295707ad04e-427f-4cde-9589-e578224a8459.zip
- 动态sql解析引擎,类似mybatis动态sql的功能
- EDA365-Skill-V2.5安装包,支持Allegro17.x版本
- C# 常用单词汇总,常用单词汇总
- 【ERP标准流程-标准流程-库内业务管理】(DOC 14页).doc
- Python《数据库期末作业-餐厅点单系统 》+源代码+设计资料
- 学生成绩管理系统(C++课程设计
- 双指针法判断链表有环-go语言实现
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论5