我试图在我的ROM中包含SuperUser应用程序和su二进制文件(通过AOSP方法)。我使用android-6.0.1_r79 (Marshmallow)
作为我的基本AOSP代码。
[ [之前已经回答了类似的问题,但之前的所有讨论都在Android KitKat之前,并没有解决当前的AOSP /超级用户问题。] ]
我按照说明here进行了几次打嗝,在Google的帮助下,我成功了。我使用了列出的su存储库here。
通过添加一些日志,我能够验证/system/xbin
中存在的su二进制文件是否来自wvengen/su.c。但是,ROM中没有超级用户应用程序。
我面临的第二个问题是/system/xbin/su
只能访问adb shell而不能访问其他应用。
默认情况下,su binary具有以下权限:
root@generic:/system/xbin # ls -l | grep su
-rwsr-x--- root shell 488692 2017-04-16 16:20 su
我把它改为:
root@generic:/system/xbin # chmod +rx su
root@generic:/system/xbin # chmod +s su
root@generic:/system/xbin # ls -l | grep su
-rwsr-sr-x root shell 488692 2017-04-16 16:20 su
但是还有其他应用程序无法访问
root@generic:/system/xbin # run-as com.test
root@generic:/system/xbin $ ls -l | grep su
lstat './su' failed: Permission denied
而所有其他二进制文件在com.test下都是可执行的(例如/ system / xbin / sqlite3)。
我还尝试更改fs_config.c中的su权限,但它不起作用。
所以请提供一些指示: