5.0/5.1ROOT后可以拿到SU权限 6.0就不行

雕·不懒惰 2018-08-06 07:05:45
5.0/5.1手机、虚拟机ROOT后 APP内运行Process process = Runtime.getRuntime().exec("su")
不弹出申请ROOT权限弹窗,但是可以执行其他命令,说明已经拿到了SU权限
为什么6.0的手机、虚拟机ROOT后
运行Process process = Runtime.getRuntime().exec("su");这句报错,之后命令都无法执行
/System.err: java.io.IOException: Error running exec(). Command: [su] Working Directory: null Environment: null
/System.err: at java.lang.ProcessManager.exec(ProcessManager.java:211)
/System.err: at java.lang.Runtime.exec(Runtime.java:174)
/System.err: at java.lang.Runtime.exec(Runtime.java:247)
/System.err: at java.lang.Runtime.exec(Runtime.java:190)

这是需求
4、动作列表-APP管理

app_install 安装APP

app_uninstall 卸载APP

app_run 运行APP

app_stop 停止APP

app_get_info 获取APP信息

app_installed_list APP安装列表

app_running_list APP运行列表

app_foreground_info 前台APP信息



5、动作列表-机器管理

sys_shutdown 关机

sys_reboot 重启

sys_screenshot 截屏

sys_snapshot 拍照

sys_get_location 获取位置信息

sys_get_datetime 获取时间

sys_set_datetime 设置时间


求大神解答啊,被这破需求折腾好久了
...全文
368 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zrf1335348191 2018-08-19
  • 打赏
  • 举报
回复
我记得从4.3开始就不行了。没办法,权限管理增强了
雕·不懒惰 2018-08-10
  • 打赏
  • 举报
回复
引用 7 楼 csd123n123 的回复:
应该是获取su权限的方式不一样

6.0该怎么获取su权限?
Process process = Runtime.getRuntime().exec("su");不是这样直接获取的吗
davl 2018-08-10
  • 打赏
  • 举报
回复
应该是获取su权限的方式不一样
usecf 2018-08-08
  • 打赏
  • 举报
回复
你把seandroid的权限关掉 试试 不要重启

adb shell
setenforce 0
然后测试看还有问题没
雕·不懒惰 2018-08-07
  • 打赏
  • 举报
回复
引用 1 楼 usecf 的回复:
你用真机调试看看 打印下adb log

用真机调试了的啊 就是输出
/System.err: java.io.IOException: Error running exec(). Command: [su] Working Directory: null Environment: null
/System.err: at java.lang.ProcessManager.exec(ProcessManager.java:211)
/System.err: at java.lang.Runtime.exec(Runtime.java:174)
/System.err: at java.lang.Runtime.exec(Runtime.java:247)
/System.err: at java.lang.Runtime.exec(Runtime.java:190)
usecf 2018-08-07
  • 打赏
  • 举报
回复
你用真机调试看看 打印下adb log
雕·不懒惰 2018-08-07
  • 打赏
  • 举报
回复
引用 4 楼 qq_33451426 的回复:
[quote=引用 3 楼 usecf 的回复:]
看看有和seandroid相关权限的log没 搜下 avc: denied

搞得烦死了 我打包系统签名包,安装到/system/app下
还是以运行这句Process process = Runtime.getRuntime().exec("su") 报一样的错[/quote]

添加了android:sharedUserId="android.uid.system”
platform.pk8 platform.x509.pem都是下载对应原生6.0系统的
雕·不懒惰 2018-08-07
  • 打赏
  • 举报
回复
引用 3 楼 usecf 的回复:
看看有和seandroid相关权限的log没 搜下 avc: denied

搞得烦死了 我打包系统签名包,安装到/system/app下
还是以运行这句Process process = Runtime.getRuntime().exec("su") 报一样的错
usecf 2018-08-07
  • 打赏
  • 举报
回复
看看有和seandroid相关权限的log没 搜下 avc: denied

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧