從建立一個emulator開始,逐步到root了它。 android
在文章結尾,我會將你們一些能夠遇到的問題與解決方法寫出來。 shell
一, 新建一個模擬器。 windows
就會彈出sdk and avd manager app
new -> name: Android2.2 eclipse
Target:Android 2.2 -API Level 8 工具
Size: 256 測試
Built-in: HVGA ui
Hardware: spa
Abstracted LCD density 160 .net
Device ram size 256
而後點擊Create AVD,這樣就簡單建立一個emulator。
接下來,要作的就是將你的sdk中-->platforms-->android- 8-->images-->system.img 拷貝到 /home/user/.android/avd/Android2.2.avd/目錄下(windows用戶是放在X:/Users/user /.android/avd/Android2.2.avd,X:表明你的系統盤)。
二,運行模擬器。
三,將su與superuser.apk文件拷貝到android系統中。
1,先將emulator文件系統賦予讀寫權限(rw)
進入了emulator的終端
會出現一堆東西,但咱們只關注這個
/dev/block/mtdblock0 /system yaffs2 ro 0 0
如今咱們要將它掛載爲讀寫,
這樣就掛載成功了。
退出emulator的終端
2, 將su 與 superuser.apk文件 拷貝到android系統中
su與superuser.apk文件在不少刷機包裏也有,爲了方便你們,我上傳一份。
下載地址爲:http://download.csdn.net/source/3355218
push failed: xxxxxxxx Out of memory
emulator -avd avd文件名 -partition-size 256
adb remount
adb push xxxx這樣就能夠把這兩個文件拷貝到emulator系統中。
3, 修改文件權限
你們 能夠再次輸入: ls -l 查看權限和所屬用戶與所在組是否已經更改。
如下是修改superuser.apk的權限
4, 刪除SdkSetup.apk
這一步要刪除/system/app/SdkSetup.apk這個文件,不刪除的話,咱們以前所作的就白費了,它會將系統文件還原。
而後就將emulator(模擬器)關掉。
四, 刪除/home/user/.android/avd/Android.avd/目錄下的cache.img userdata.imp和userdata-qemu.img刪除
好了,這樣就將emulator root了,再次打開emulator試試看。測試有沒有root成功的方法就是在emulator有個程序Dev Tools裏的一個Terminal emulator工具,打開它,而後輸入 su命令,就是彈出受權的東西,選擇 allow,這時會發覺終端裏的$變成了#,這就證實咱們root成功了。
五,請注意的問題
1:找不到android, adb , emulator等命令。
這些命令在sdk的platforms-tools與tools文件夾下能夠找到,你們能夠將它們寫入path環境變量裏,方便使用。
2:輸入adb push su /system/bin/ 時可能會出現Read-only file system 錯誤。
出現這個問題的緣由是沒有掛載system,請根據文章的步驟去掛載就好了。
3:輸入 adb push su /system/bin/ 時能夠會出現Out of memory 的錯誤。
出現這個問題的緣由是可能你打開emulator的方法有誤,請用這個命令打開emulator -avd Android2.2 -partition-size 128
一般在eclipse裏打開或者在android中打開均可能會出現這種錯誤。
4,沒有root成功。
請檢查有沒有將system.img放到指定目錄
請檢查有沒有將SdkSetup.apk刪除
請檢查有沒有將cache.img userdata.imp和userdata-qemu.img刪除