android平台下如何获得类似su权限,要求非云中漫步的作法

gongxujun 2012-07-12 05:24:13
看了好多帖子,其中也有版主大神推荐的云中漫步大神的mount nfs方法,但那个与我的作法不符。下面说下我的思路。

简单地说,就是通过jni来启动一个执行文件,给su权限,这个可以做到,如果我改成通过jni来启动个动态库,这个su参数该在哪设置。

详细点,最近在做ping的相关开发,发现android下ping业务需要root权限才能跑,目前有一直方法可以实现,就是通过jni来掉动态库,然后execl("/system/bin/su", "su", "-c", sArgs.c_str(), (char*)NULL)一个执行文件来做,这样可以实现正常ping。
但是现在有要求不能用执行文件的方法来启动,意思就是说“execl”这步换成了dlopen一个动态库来启动,这样做就出现了问题,在ICMP创建socket的时候报了权限不允许的错,我想知道调用动态库的方法有没有地方可以设置su参数的,JAVA代码里能设置吗。

最后有个题外的问题,看了版主大神好多的经验介绍,到现在任然不知道到底是念qian还是xi。

...全文
403 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jay0725 2012-08-28
  • 打赏
  • 举报
回复
你好,我也是在jni里cpp调用system()函数无效,请问你是怎么解决的?
streen_gong 2012-07-31
  • 打赏
  • 举报
回复
调用C库的方法,需要root权限,用JAVA来做的话只需要system权限,android手机自带ping功能
gongxujun 2012-07-17
  • 打赏
  • 举报
回复
或者说下android下ping需要什么权限,我试了system权限的方法没效果

80,351

社区成员

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

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