我的G1到手的时候,js给刷的是一个HiAPK的1.5 (Cupcake)的中文rom。按理说,js能自己刷rom应该是取得了root权限,可是我在G1上的terminal里无法su,报错为 “uid 10005 not allowed to su”。
带着困惑,我开始google,终于发现了原因。虽然我的系统已经拥有root权限,但是Cupcake不支持通过terminal来su的。如果你的terminal支持su,可能是你的系统版本低于Cupcake,也可能你的系统做过其他破解,如替换了su (参见相关资料1)
但是,你可以通过电脑来进行su。首先,你需要安装Android的SDK,http://developer.android.com/sdk/1.5_r2/index.html。然后,你需要安装一个驱动,如果你用Mac OS,很幸运,你什么都不用做。如果你用windows,你需要下载并安装http://dl.google.com/android/android_usb_windows.zip。如果你向我一样用Linux(ubuntu 8.04),就稍微麻烦点。
1. 创建一个文件 /etc/udev/rules.d/50-android.rules
2. 文件内容为:SUBSYSTEM==”usb”, SYSFS{idVendor}==”0bb4″, MODE=”0666″
3. chmod a+rx /etc/udev/rules.d/50-android.rules
(参见相关资料2)
这时,你将电脑连接好G1,打开USB 调试选项,就可以执行SDK tool中的adb命令( Android Debug Bridge)。试一下 adb devices 是否可以看到你的G1设备。如果可以,你就可以通过 adb shell 以root身份进入 terminal了,拥有root的一切权限了。
相关资料
1. http://android-dls.com/wiki/index.php?title=Magic_Root_Access
2. http://androidcommunity.com/forums/f4/how-to-install-apps-using-adb-4482/