綁定帳號登入

Android 台灣中文網

打印 上一主題 下一主題

[分享] 通用(任何android機型)Root教程(完整版!附自救方法)

  [複製連結] 查看: 55602|回覆: 361|好評: 38
跳轉到指定樓層
樓主
22624762 | 收聽TA | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
發表於 2011-9-7 23:59

馬上加入Android 台灣中文網,立即免費下載應用遊戲。

您需要 登錄 才可以下載或查看,沒有帳號?註冊

x




一台android終端(可能是手機、可能是平板,也可能是其它),很多功能是要取得Root權限後才能使用的。那我們就來Root它。

取得root權限只要在機器裡放兩個文件就可以了

/system/bin/su(取得root權限的命令)
/system/xbin/su(同上,只不過是有些軟件只認這個路徑)
/system/app/SuperUser.apk(Root權限管理器)

上面明明是三個文件,為什麼說兩個呢?其實前面兩個文件就是同一個文件,熟悉linux等系統的就知道,用ln做個軟連接就可以了。
說實在的Android就是Linux的一個分支。不信就看看你機器的內核版本就懂了。

ln -s /system/bin/su /system/xbin/su
在android設備上運行以上命令可以在/system/xbin路徑中生成/system/bin/su的軟連接文件(可以理解為windows下的「快捷方式」)

除了放上面講的兩個文件,即:
/system/bin/su
/system/app/SuperUser.apk
還需要設置/system/bin/su可以讓任意用戶可運行,有set uid和set gid的權限。即要在android機器上運行下面的命令:
chmod 4755 /system/bin/su
貌似做到這些都比較簡單。在android市場中安裝一個connectbot,把su和SuperUser.apk拷貝到SD卡上,然後用ConnectBot在本機上開命令窗口,cp ln chmod一下就可以了。但實際是不行的。
為什麼呢?原因有三:
1、/system路徑是只讀權限,不能簡單寫入
2、 chmod需要Root權才能運行(死循環了)
3、有些系統在啟動時會自動將su的4755權限設成755,甚至直接刪除su
那怎麼辦呢?
本層要部分解決的就是上面遺留的三個問題。
既然走正常程序,行不通,就要換個思路,走走後門了。

後門在哪裡呢?
    Google還是很厚道的,Android有個用於開發的後門,供Android系統和應用軟件的開發者調試程序用的。

如何打開後門?有三項工作:
    1、用數據線連接android設備到PC
    2、在PC上安裝android設備的驅動程序。
    3、在android設備上設打開發調試模式(settings->applications->development->USB debugging)
怎麼用?
    google的android SDK包裡面有兩個小程序:1、adb 2、fastboot。fastboot用來刷機,adb可以以Root的身份讓android設備執行一些命令。
用法:
    把附件下載到電腦。
    解壓附件到電腦
    參考上文,打開android設備的後門
    用資源管理器打開附件數據包解壓出來的文件夾
    不要選擇任何文件或文件夾,按住Shift鍵鼠標右擊資源管理器空白部分,在彈出菜單中選擇「在此處打來命令窗口」。
        (也可以先大開命令窗口,用cd等命令將當前路徑切換到附件數據包解壓出來的文件夾)
    在命令窗口敲命令,然後重啟android完成Root
        adb remount
        adb push su /system/bin
        adb push SuperUser.apk /system/app
        adb shell ln -s /system/bin/su /system/xbin/su
        adb shell chmod 4755 /system/bin/su

部分遺留問題:
    1、少數Android設備運行adb remount時會報錯,顯示/system不能被remount成可讀寫模式
    2、重啟後/system/bin/su文件的權限被改寫,失去setuid setgid的權限(即重啟後不能正常取得Root權),甚至/system/bin/su直接被刪除

該怎麼解決呢?呵呵,我還留了一層備用,大家知道會怎樣了吧?!
現在要解決重啟丟失Root權和 adb remount不能讓/system目錄轉成可讀寫的問題。
造成這些問題基本都是系統在啟動內核的時候設置的鎖。
如何解鎖呢?我們先要說說Android終端的啟動。

一般來說Android終端能啟動到三種不同的模式
1、正常啟動
2、bootloader模式
3、revocery模式

正常啟動Android終端,系統會自動調用boot鏡像中的內核,然後是到system中加載配置和啟動預定程序,最後到userdata中繼續加載用戶配置和用戶預裝的程序。
一般一個新的Android終端拿來,第一次啟動時,只有boot和system中有數據,userdata中是空的,我們安裝軟件、修改配置等操作只能影響userdata。所以沒有ROOT的Android終端是很安全的,實在是系統裝的很亂、軟件衝突、死機,只要清除userdata中的數據(回出廠狀態)就好了。(內置的用戶存儲空間和外加存儲都屬於userdata的一部分)

既然boot中有鎖,不能取得Root權,我們就只好放棄原版boot,去尋找第三方開發的boot(簡單的用「一鍵root」之類的軟件是解決不了問題的),然後刷機...

bootloader模式就提供了通過USB線刷機的接口。用android SDK中提供的小工具fastboot就可以完成刷機(線刷)

recovery模式也提供了通過Android終端上的數據存儲刷機的辦法(卡刷),只是原版Andriod終端自帶的recovery會識別刷機包的數字簽名,非官方發佈的刷機數據包是不太可能通過這種辦法刷機的。所以玩Android終端的老鳥是不會用原版的Recovery的。

第三方開發的recovery基本上是採用文本菜單方式操作,識幾個E文的應該操作起來不會有問題,只要找到自己機器型號對應的刷機包就可以了。本樓主就不多廢話了。

重點講bootloader模式刷機
【如何進入bootloader】
大家還記得頂層的adb嗎? 不記得就上樓複習。
命令窗輸入
adb reboot bootloader
可進入重啟系統進入bootloader模式
(附:命令窗輸入adb reboot recovery 可中起進入recovery模式)
注意複習頂樓課程,輸入adb命令前必須的幾部操作(接數據線、裝驅動、andriod終端設為usb debug模式、在adb文件夾開命令窗口)

當然還有其他方法:比如已經Root的機器可以裝個小軟件,一鍵重啟切換到bootloader或者recovery
還有一種方法很重要,掌握了可以讓你的機器永遠不會因為刷機變磚,或者將磚機救回來。
1、關機
2、按住特定鍵(大部分是「上」鍵,不同的機型不一樣)開機,或者開機,按特定鍵

進入bootloader以後用fastboot刷機,當然首先要找到自己Android終端對應的刷機數據包(boot.img,revocery.img,system.img )
當然要把刷機數據*.img放在fastboot同一文件夾(除非你喜歡敲很多相對或絕對路徑)
fastboot flash boot boot.img
(刷boot)
fastboot flash recovery recovery.img
(刷recovery)
fastboot flash system system.img
(刷Android系統)
fastboot flash userdata data.img
(刷用戶數據)
fastboot reboot
(重啟到正常模式)

各位刷成磚機的,只要能進bootloader磚機就能救回來
現在google、百度這麼強,相信各位找個自己設備對應的*.img不是什麼難事。

寫到這裡該結束了,為了方便新同學,請大家跟帖,說一說自己機器進bootloader的方法。
或者哪位大俠開個集合貼,討論各種機型進bootloader的方法,造福四方。

「用Android 就來APK.TW」,快來加入粉絲吧!
Android 台灣中文網(APK.TW)

磚機自救方法abdshell.zip

685.74 KB, 下載次數: 1555, 下載積分: 碎鑽 -1 個

評分

參與人數 140碎鑽 +38 幫助 +137 技術 +5 收起 理由
22755687 + 1 好內容。朕有賞,還不謝主隆恩.
simon432 + 1 + 1 很給力! 很給力!
faba + 1
zhanchan + 1 好內容。朕有賞,還不謝主隆恩.
vegetablebird + 1 老衲來幫這篇文章開光
qwer3010 + 1
eric1231234 + 1
risker + 1 + 1 非常讚
spfdisk00 + 1 + 1 非常讚
gilobear + 1 很給力!

查看全部評分

收藏收藏179 分享分享 分享專題
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

沙發
ezsoho | 收聽TA | 只看該作者
發表於 2011-9-8 04:02
這麼讚的教學,不回應不行啦~

評分

參與人數 1幫助 +1 收起 理由
sonicg + 1

查看全部評分

用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

板凳
hst360 | 收聽TA | 只看該作者
發表於 2011-9-8 08:47
謝謝大大詳細的解說.best
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

地板
pboy | 收聽TA | 只看該作者
發表於 2011-9-8 08:48
雖然還看不懂,不過真的很謝謝你
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

5
李多摩 | 收聽TA | 只看該作者
發表於 2011-9-8 10:30
說的好詳細,大大的推一下
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

6
wu563544 | 收聽TA | 只看該作者
發表於 2011-9-8 11:40
好東西
下來留著以後希望用不到才好
備用
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

7
may4151 | 收聽TA | 只看該作者
發表於 2011-9-8 14:04
嗯,趕快來試試,磚機變金磚~
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

8
零下275℃ | 收聽TA | 只看該作者
發表於 2011-9-8 20:27
有人試過野火S可以ROOT從S-on變S-off嗎?
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

9
docomo | 收聽TA | 只看該作者
發表於 2011-9-8 22:58
我也希望刷機一次過.....
不過現在聽說234版的要s-off所也不能解是嗎?
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

10
lovecyf62 | 收聽TA | 只看該作者
發表於 2011-9-9 00:25
手機變磚了
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則