2012年2月7日火曜日

KindleFire6.2.2 汎用Android化② AndroidMarketの導入

Rootを取得してアプリが自由にインストールできるようになったところで、
Android Marketアプリを導入します。以下ここを参考にした導入手順です


① ファイラーの導入

 ES File Explorerがおすすめ。
 Amazon USのアカウントがあれば、話がはやいのだが、ないのでapkから直接インストール
  こちらからes_file_explorerのapkをダウンロード

  コマンドプロンプトでadbのあるフォルダへ移動し、
  
 adb install \Kindle\es_file_explorer_v1_6_1_0.apk

② Marketのapkをダウンロード

 上記の参考ページよりgapps.rarをダウンロード
 解凍したファイルから"GoogleServicesFramework.apk"をUSBストレージとして
 認識したKindleのルート(/sdcard)へコピー
 Vending.apk (Latest Version 3.3.11)をここからダウンロード
 http://forum.xda-developers.com/showthread.php?t=1330360
 同じく、USBデバイスとして認識したKindleのルート(/sdcard) へコピー


③ Marketのインストール
 
KindleでES File Explorerを起動し、GoogleServicesFramework.apkを選択、インストール

Market APKインストールのために/system以下をRWできる状態で再マウントする。
 adb shell
 $ su
 # mount -o rw,remount /dev/block/mtdblock1 /system 

ES File Explorerの設定からRootExplorerモードをチェック
Vending.apkを/system/app/へ移動

コマンドプロンプトでsystem/appへ移動

Vending.apkのアクセス権を他のAPKと一緒に

 chmod 644 Vending.apk

最後に/system以下をROな状態に戻す
 # mount -o ro,remount /dev/block/mtdblock1 /system
 # exit
 $ exit  
 
 ES File ExplorerからVending.apkを選択してインストール(Replace云々の注意書きはOKで問題なし)
  これでMARKETのインストールは完了
④ ランチャーのインストール
  MARKETをインストールしてもKindleのランチャーには出てこないので、ランチャーを改めて
  インストール
  gapps.rarのパッケージからcom.gau.go.launcherex-1.apkをUSBストレージでルートへ
  コピーしてESFileExplorerからインストール

  Kindleでホームへ行こうとすると選択画面がでるので、GoLauncherEXを選択
  ランチャが表示され、AndroidMarketが起動可能になります。

KindleFire6.2.2 汎用Android化① Root取得

Kindle Fireの中身を自由にいじる為の事前準備部分です。
目的は何はともあれRootの取得。 お約束ですが、実行は自己責任でお願いします。

【大まかな流れ】

1)環境の準備
2)KindleとPCの接続(ドライバ設定)
3)Root取得Toolのダウンロードと実行


【 環境の準備(Kindle側) 】

■ Kindle側でUnknown Applicationを追加できるようにする
 Setting(右上の歯車アイコン)のAllow Installation of Applications
(From Unknown Source)をオンに


【 環境の準備(PC側) 】

① JAVA実行環境のインストール

   後述②のAndroid SDK利用の為に必要です
   こちらから Download>Java SE>JDK とたどり
   Java SE Development Kit (JDK)をダウンロード

   ダウンロード後、標準セットでインストール



② Android SDKのインストール

   こちらから該当するインストーラをダウンロード
   執筆時点では”installer_r16-windows.exe
   
   ダウンロード後、実行してインストール
   コマンドプロンプトでの作業を簡易にする為インストール先を以下のように変更
    変更前)C:\Program Files\Android\android-sdk
    変更後)C:\Android\
   
   StartSDKManagerをチェックしてFinish
   SDK Managerから以下内容を設定
     ・ 最新のAndroidOSバージョンがチェックされているので外す
    ・ KindleのAndroidOSバージョンをチェック(現時点は2.3)
    ・ ExtraのGoogleUSBDriverPackageをチェック
    ・ ToolsのAndroidSDKToolsをチェック
    ・ AndroidSDKPlatform-toolsをチェック

   インストール実行
    一度実行してもGoogleUSBDriverPackageはNotInstalledになるので、
    それだけもう一度実行
   SDKManagerを閉じる




③ USBドライバの設定
   USBドライバの初期設定ファイルを編集
   C:\Android\extras\google\usb_driver\android_winusb.inf

   [Google.NTx86]と[Google.NTamd64]の直下に以下3行を追加
 
   ;Kindle Fire
   %SingleAdbInterface% = USB_Install, USB\VID_1949&PID_0006
   %CompositeAdbInterface% = USB_Install, USB\VID_1949&PID_0006&MI_01


④ プロファイルの設定 
  エクスプローラのアドレスバーに%USERPROFILE%を入力してEnter
”.android”フォルダを開き、adb_usb.iniに以下一行を追加
0x1949
(ファイルがなければ新規作成で追加する)


⑤ デバイス設定
デバイスマネージャを開く
マイクロUSBでkindlefireをPC接続
→ その他のデバイスにKindleが認識される

Kindleを右クリックでドライバの更新、ドライバを選択してインストール
検索する場所に”C:\Android\extras\google\usb_driver”を指定
→ Android Composite ADB Interfaceがインストールされる

完了後、デバイスマネージャに
Android Phoneー>Android Composite ADB InterfaceがでればOK


⑥ ルート取得 (6.2.1と同様手順まで)
こちらからkindleroot_androidpolice.apkをダウンロード

コマンドプロンプトを起動し、adbを使ってインストール
※ SDKのパスを通していない場合、/Android/Platform-toolsに移動するか、
絶対パス指定でのコマンド実行が必要
$ /Android/platform-tools/adb install ~/Downloads/kindleroot_androidpolice.apk
2406 KB/s (216808 bytes in 0.087s)
pkg: /data/local/tmp/kindleroot_androidpolice.apk
Success
   ※うまくいかない場合、adb kill-server, adb start-serverしてみる

完了後、6.2.1では以下の流れ
  $ ~/Downloads/android-sdk-linux/platform-tools/adb kill-server
$ ~/Downloads/android-sdk-linux/platform-tools/adb root
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
restarting adbd as root
   $ ~/Downloads/android-sdk-linux/platform-tools/adb shell
  #
6.2.2だとadb rootで以下エラー発生(想定内)
    adbd cannot run as root in production builds 

⑥ ルート取得 (以降は6.2.2用手順)


こちらから"BurritoRoot3.bin"をダウンロード

コマンドプロンプトから以下を実行
adb shell chmod 777 /data/local/tmp
  adb install BurritoRoot3.apk

→ 後、Kindleでアプリを起動、そのまま下記をコマンドプロンプトで実行

 adb shell /data/local/tmp/BurritoRoot3.bin --root 
 adb shell /data/local/tmp/BurritoRoot3.bin --install

→ 後、アプリでExit

これでルート取得は完了です。