本帖最后由 jscumt 于 2014-06-29 13:57:06 编辑

解决方案 »

  1.   

    可以吗?好像应该不可以吧,root是sdk里面的东西删除了,并且赋予了777,你打算怎么改
      

  2.   

    我是想让我启动的应用程序拥有root的权限,这样就能够执行 重启机器等操作了
      

  3.   

    我按照下面的做了 ,还是没有root成功,我的android版本是4.2.2
    1、修改su程序对临时用户的限制,默认su只允许root和shell用户执行
    vi system/extras/su/su.c
    注释掉语句块
    /*
    myuid = getuid();
    if (myuid != AID_ROOT && myuid != AID_SHELL) {
    fprintf(stderr,"su: uid %d not allowed to su\n", myuid);
    return 1;
    }
    */
    就安全性而言这种方式是不太可取的,因此才有了类似于superuser.apk的出现,它们的作用就是在外面再提供一层保护。2、修改su程序的suid,可以通过ls -l来查看,在system/core/rootdir/init.rc中添加语句
    chmod 4755 /system/xbin/su3、如果涉及到/data目录而非/data/data/<你的包名>/的修改,则修改system/core/rootdir/init.rc
    将 mount yaffs2 mtd@userdata /data nosuid nodev 改为 mount yaffs2 mtd@userdata /data nodev
      

  4.   

    我的程序原来是可以编译出apk的,但是需要root权限,所以就按照下面的方法申请了数字签名,但这时就无法成功生成apk了,请问哪个地方有问题吗?      
    1. 在应用程序的AndroidManifest.xml中的manifest节点中加入android:sharedUserId="android.uid.system"这个属性。
            2. 修改Android.mk文件,加入LOCAL_CERTIFICATE := platform这一行
            3. 编译系统生成的apk就有修改系统时间的权限了。
      

  5.   

    因为这个版本签名每个手机厂商的版本是不一样的,想要获取root权限,只能去下载root包刷进去,你这样的修改只是使用的你自己的编译环境,与手机是不符的