Kindle Fire HD(Ver. 7.4.6)をRoot化

たぶん成功した。
Windowsでやると楽っぽいけど、Windows 8.1に上げている最中だったので開発機(Ubuntu 13.04)で実行。

自分のメモのために書くので、実際にこれを見てやる人は他の記事とかも調べつつ、自己責任でお願いします。

(1) 必要なものをインストールしまくる

JDK

OpenJDK 7で。

sudo apt-get install openjdk-7-jdk
Android SDK

http://developer.android.com/sdk/index.html
↑ここからダウンロードして、どこかのフォルダへ解凍。
とりあえず、僕は
/opt/adt-bundle-linux-x86_64-20130917
に置いた。
んで、/opt/adt-bundle にシンボリックリンクを貼った。

・・・だが・・・
実は、aptでインストールできたんじゃなかろうか・・・

apt-cache search android-tools
android-tools-fsutils - Android ext4 utilities with sparse support
android-tools-adb - Android Debug Bridge CLI tool
android-tools-fastboot - Android Fastboot protocol CLI tool

まいっか。
必要ならアップデートしたほうがいいのかな?
開発しなければいらないかもしれないが。

sdkのディレクトリまでいき

tools/android update sdk --no-ui

で、とりあえず何でもかんでも持ってくる。

Root_with_Restore_by_Bin4ry_v31

わかりにくいけど
http://forum.xda-developers.com/showthread.php?t=1886460
から。

こいつは、実際に実行するわけではない(batファイルだし・・・)ので、ダウンロード・解凍だけ。

僕は
/opt/adt-bundle-linux-x86_64-20130917/sdk/platform-tools/Bin4ryv31
に解凍した。

解凍したら、RunMe.batをテキストエディタで開いておく

(2) KindleとPCをつなぐ

USBでつなぐ
あ、ADB許可することを忘れずに。
セキュリティ→ADBを有効にする

(3) RunMe.batを見ながらコマンドを叩きまくる!

ここから先はターミナルを開いて、sdkのplatform-toolsディレクトリまで移動してから実行していく

http://www.zero-gadget.info/2013/10/Kindle-Fire-HD-Root-PlayStore.html
を見ると1番を選ぶようなので、それに沿って叩く。

if %type% == 1 GOTO NEWSTANDARD

と書いてあるので、:NEWSTANDARDのところへいく

echo Please connect Device with enabled USB-Debugging to your Computer
stuff\adb.exe wait-for-device

と書いてあるので、とりあえずwait-for-deviceを実行。

./adb wait-for-device

まあ、すぐに戻ってくるよね。

echo Doing a Backup first, please confirm this on your device!
stuff\adb.exe backup -f stuff\mysettings.ab com.android.settings

と書いてあるので、backup実行。

./adb backup -f Bin4ryv31/stuff/mysettings.ab com.android.settings

echo Please select the RESTORE MY DATA option now on your device!
stuff\adb.exe restore stuff\special.ab
echo Please press any Key when restore is done.

と書いてあるので、restoreを実行

./adb restore Bin4ryv31/stuff/special.ab 

Kindleに「データ復元する?」って出てるので「データ復元」。すぐに終わった。

echo Going to reboot now ...
stuff\adb.exe reboot

と書いてあるので、rebootする

./adb reboot

再起動が終わるまでしばらく待つ。

stuff\adb.exe wait-for-device
stuff\adb.exe shell "mount -o remount,rw /system"
stuff\adb.exe push stuff\su /data/local/tmp/su
stuff\adb.exe push stuff\Superuser.apk /data/local/tmp/Superuser.apk
stuff\adb.exe push stuff\busybox /data/local/tmp/busybox
stuff\adb.exe shell "chmod 06755 /data/local/tmp/busybox"
stuff\adb.exe pull /system/bin/ric . > NUL

と書いてあるので、順に実行していく。

./adb shell "mount -o remount,rw /system"
./adb push Bin4ryv31/stuff/su /data/local/tmp/su
./adb push Bin4ryv31/stuff/Superuser.apk /data/local/tmp/Superuser.apk
./adb push Bin4ryv31/stuff/busybox /data/local/tmp/busybox
./adb shell "chmod 06755 /data/local/tmp/busybox"
./adb pull /system/bin/ric . > /dev/null

なんと!「/system/bin/ricなんてねーよって」言われるが、慌てずに先を読むと

if EXIST ric (set ric=1) else (echo .)
set foo=1
GOTO NORMAL

と書いてあるので、それぞれの変数を覚えておき、:NORMALへいく。

IF %ric% == 1 GOTO RICSTUFF

と書いてあるが、ricはなかったので次の行へ。

echo Going to copy files to it's place
stuff\adb.exe shell "/data/local/tmp/busybox mount -o remount,rw /system && /data/local/tmp/busybox mv /data/local/tmp/su /system/xbin/su && /data/local/tmp/busybox mv /data/local/tmp/Superuser.apk /system/app/Superuser.apk && /data/local/tmp/busybox cp /data/local/tmp/busybox /system/xbin/busybox && chown 0.0 /system/xbin/su && chmod 06755 /system/xbin/su && chmod 655 /system/app/Superuser.apk && chmod 755 /system/xbin/busybox && rm /data/local.prop && reboot"

と書いてあるので、実行。

./adb shell "/data/local/tmp/busybox mount -o remount,rw /system && /data/local/tmp/busybox mv /data/local/tmp/su /system/xbin/su && /data/local/tmp/busybox mv /data/local/tmp/Superuser.apk /system/app/Superuser.apk && /data/local/tmp/busybox cp /data/local/tmp/busybox /system/xbin/busybox && chown 0.0 /system/xbin/su && chmod 06755 /system/xbin/su && chmod 655 /system/app/Superuser.apk && chmod 755 /system/xbin/busybox && rm /data/local.prop && reboot"

再起動がかかるので待つ。

IF %foo% == 1 GOTO REENTER

と書かれているので、:REENTERへいく

stuff\adb.exe wait-for-device
echo Restoring previous Backup! Please select the RESTORE MY DATA option now on your device!
stuff\adb.exe restore stuff\mysettings.ab

と書かれているので、wait-for-deviceしたあとrestore。

./adb wait-for-device
./adb restore Bin4ryv31/stuff/mysettings.ab 

Kindleに「データ復元する?」って出てるので「データ復元」。すぐに終わった。

echo Please press any Key when restore is done.
pause
echo Going to reboot last time now ...
stuff\adb.exe reboot

と書かれているので、rebootする。


たぶん、これでできてるはず・・・

追記・・・

http://www.zero-gadget.info/2013/10/Kindle-Fire-HD-Root-PlayStore.html
のとおりにアプリを入れて、
Google playも入りました!