android如何使jvm主进程(而非仅shell子进程)具有root权限?
高洛峰
高洛峰 2017-04-17 13:59:25
[Android讨论组]

我在网上看到了很多例子,都是在java中通过su系统命令打开一个shell的process子进程来操作系统文件。但这样的通用性其实非常不好:首先所有对文件操作依赖于机器自带的终端命令,如果机器的终端命令不完整,或返回值不标准,将会导致应用的功能受限;其次虽然我们可以通过jni调用c的方式来执行一些更加细致的高权限代码,但jni要提前编译,受制于目标平台的编译特性和库完整性,通用性和跨平台受到制约。
因此如何将android应用自身的java代码(即jvm主进程)提权root操作(而不是通过shell操作文件)是比较理想的方案。比如怎样在java代码中绑定一个1024以下的端口?


我没有说过要在没root过的设备上提权。我上述问题中提到的所有操作,都是在设备已安装su的前提下讨论的。

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(1)
伊谢尔伦

然而如果机子并没有root,你如何提?一般普通应用想要获取root也就是执行su,通过superuser之类的权限管理给用户一个提示,才能获取。还有一个问题是android系统级目录默认是只读的,即使有root你也改不了,只能通过命令进行重挂载。。如果随便一个应用能在没有root过的机子上获取到root权限的话,那你也太小看android了

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号