android平台下如何获得类似su权限,要求非云中漫步的作法
看了好多帖子,其中也有版主大神推荐的云中漫步大神的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。