通过修改default.prop 中 ro.secure=0 , 的确可以让 adb shell 获取root 以执行各种命令.
但发现安装的app 就没那么好运了, 会提示:
"su: uid 100xx not allowed to su" ,然后失败退出.
解决方法原来非常简单:
android 2.1 的源代码里头,打开:
system/extras/su/su.c
发现有判断:
冒汗, 这机制也太稀疏平常了...
直接把 return 1; 注释 , 在源代码根目录下编译:
. build/envsetup.sh
make su
以补丁包刷上机器,测试方法:
su app_xx (app_xx , 当然是机器中已经被申请的uid) ,提示符号从 # 到 $
su
可以发现 , su后 , 提示符重新改回 # , 以为 这个app_xx , 已经可以进入root.