Android下以root权限启动程序
16lz
2021-01-26
Android下以root权限启动程序
使用Android手机的人很多,很多人都会安装第三方的ROM,这些第三方的ROM一般都可以获取到root权限。但是即使在可以获取root权限的ROM上,java程序权限也是很低的。如何启动一个root权限的程序来完成某些高权限的任务呢?答案是使用su。第三方ROM上的su一般都是修改过的,可以被java程序调用。因此我们可以把高权限的操作放到一个单独的程序中,假设这个程序是/data/data/net.test.com/lib/libroot.so。第一次使用时通过su执行一个root权限的脚本,在脚本中把libroot.so的所有者设置为root,属性设置为4777,这样下次再使用时执行libroot.so,libroot.so就会以root权限运行。
这种方法不是100%可靠,某些手机上即使设置了所有者为root和属性为4777,程序仍然不会以root运行。这时就要在每次启动libroot.so都通过”su –c”来创建进程。每次调用su创建root权限进程时系统都会提示用户进行选择“运行”或“拒绝”或“记住”。如用户选择了记住,则下一次不会提示,因此没有都使用su来启动也不会带来太差的用户体验。
更多相关文章
- Android(安卓)HAL层/native C程序打印栈信息方法
- Android应用进程内存管理
- Android(安卓)启动服务配合AsyncTask 使用OKHttp 实现断点下载大
- OPhone/Android的学习(2)—从分析Eclipse自动生成的代码到以XML
- Android实现推送PushService通知Notification
- 关于APP接收开机广播延迟问题,解决开机启动慢问题
- Android各版本适配之6.0
- 刷机ROM制作及刷机原理浅谈
- Android(安卓)API Guides---Accessibility Developer Checklist