2015/06/20(土)12:39
Nexus 7(2012)をAndroid 5.1.1からAndroid 4.4.4にダウングレード
Nexus 7(2012)をAndroid 5にアップグレードしてから動作が遅い。最新版のAndroid 5.1.1まで何度もアップデートしていったが、やはり根本的な解決にはならない。Nexus 7(2012)はAndroid 4で使うのが良さそうだ。
思い切ってAndroid 4.4.4にダウングレードしてみた。これを実施するには、【1】NexusとPCをUSBケーブルで接続してUSBデバッグモードで通信ができる状態にして、【2】専用のソフトウェア(Android SDKやJava)を使って、【3】ファクトリーイメージ(工場出荷状態へ戻せるイメージファイル)を書き込む作業をする。
【1】USBデバッグ時のドライバのインストール
Nexus 7(2012)をUSBデバッグモードにして、USB接続でPCと通信ができるようにする。
USBデバッグモードは「開発者向けオプション」の中に設定があるが、最初は表示されていない。タブレット情報で表示される「ビルド番号」を何度もタップしていくと「これでデベロッパーになりました!」と表示される。(以下はAndroid 4.4.4のものだが、5.1.1でも同様)
これで開発者向けオプションが表示されるようになったので、タップして中に入る。
開発者向けオプションを有効にして、「USBデバッグ」をオンにする。
PCにUSBケーブルを接続するとドライバーの検索が始まり、オンラインで自動的にドライバーがインストールされる。
以上で、Nexus 7とPCとがやりとりできる準備が整った。
【2】JavaとAndroid SDKのインストール
Android SDK(PCでAndroid向けソフトウェアを開発するための環境)とJavaのインストールをする。
Javaは、JDKというJavaを使ってプログラムを書いて動かす為に必要なソフトウェアのセットでなくても、通常のデスクトップ用Javaのインストールで大丈夫だった。
Javaは、インストールが終了すれば完了。
Android SDKだが、最近はAndroid Studioという統合的なパッケージがあってややこしい。単純にAndroid SDKのインストールだけでよい。Download Android Studio and SDK Tools | Android Developersからダウンロード。現時点の最新バージョンはandroid-sdk_r24.3.3-windows.zip。
そしてダウンロード完了(以下のものは1つ前のもの)
これをDドライブに解凍して、D:\android-sdk-windowsに配置した。
この中にあるSDK Manager.exeを実行する。追加するパッケージを選択する。最小限でAndroid SDK Platform-toolsにチェックしておく。多すぎても時間が掛かるので注意。
先に選択したパッケージが表示され、「Install」ボタンを押す。
インストールされていき、完了したら「Close」を押し、Android SDK Managerを終了しておく。
platform-toolsがD:\android-sdk-windows\platform-toolsにインストールされていることを確認。
platform-toolsのパスであるD:\android-sdk-windows\platform-toolsをWindowsの環境変数に登録。これはファクトリイメージをどこに配置していてもplatform-tools内のコマンドを動作させるために必要。ファクトリイメージをD:\android-sdk-windows\platform-toolsのフォルダに入れる場合は不要。
(1)コントロールパネル→システムを表示。その中の「システムの詳細設定」を選ぶ。
(2)詳細設定タブの「環境変数」を選択。
(3)システム環境変数の中でPathを選ぶ。
(4)編集ボタンを押す。
(5)既に記述されている変数値を消さないようにして、「;」を区切りにしてD:\android-sdk-windows\platform-toolsを追加。具体的には「;D:\android-sdk-windows\platform-tools」を追加。そしてOKを押す。
(6)PCを再起動
以上でAndroid SDKのインストールは完了。
【3】ファクトリーイメージを書き込む
Factory Images for Nexus Devicesのページに行き、Nexus 7(2012)のファクトリーイメージ(工場出荷状態へ戻せるイメージファイル)をダウンロードする。
Android 4.4.4のLinkをクリックしてダウンロードしたものはnakasi-ktu84p-factory-2c6e4d6f.tgzというファイルであった。tgzを解凍できるツールを使ってDドライブに解凍。
Nexus 7がUSBデバッグモードになっていることを確認して、PCとUSBケーブルで接続しておく。
Nexus 7の電源を切り、ボリュームダウンボタンと電源ボタンを同時に長押ししてfastbootモードで起動。
ファクトリイメージを解凍したフォルダ内にあるflash-all.batを実行させる。
(このときは、ファクトリイメージはD:\android-sdk-windows\platform-toolsの中に入れてあった。面倒だったので、D:\android-sdk-windows\platform-toolsへのパスを通すことをしていなかった。)
Nexus 7側でブートローダーをアンロックするか聞いてくるので「Yes」をタップ。以前は予めアンロックしておく必要があったかもしれないが、flash-all.batの中で、ブートローダーをアンロックするようにコマンドを送っている。
後は調子よく行くかと思ったが、イメージが書き込まれない。どうやらイメージのパスが見つからないようだ。
flash-all.batの中でどのようなコマンドを送っているか見てみる。○は成功したところ、×は成功しなかったところ
○fastboot oem unlock →ブートローダーのアンロック
○fastboot erase boot
○fastboot erase cache
○fastboot erase recovery
○fastboot erase system
○fastboot erase userdata
×fastboot flash bootloader bootloader-grouper-4.23.img
○fastboot reboot-bootloader
×fastboot -w update image-nakasi-ktu84p.zip
先ほどはWindows上から直接flash-all.batを実行したが、今度はコマンドプロンプトを起動して、そのフォルダ内に入ってから先に失敗したコマンドを実行してみた。
fastboot flash bootloader bootloader-grouper-4.23.imgを実行。書き込み成功!
念のためにfastboot reboot-bootloaderを実行。
fastboot -w update image-nakasi-ktu84p.zipを実行。これも書き込み成功!
後で何度か確認したところ、うまく書き込まれないのは、Windows上からflash-all.batを実行したとき。書き込まれるのは、コマンドプロンプトを起動し、ファクトリイメージののフォルダに移動してflash-all.batを実行したときであった。
そしてNexus 7を再起動。再起動時にはブートローダがアンロックされたことを示す鍵が開いたものが表示される。
完全に初期化され工場出荷時の4.4.4の状態。
Androidバージョンは4.4.4。やった! 動作はやっぱり軽い。データやアプリはバックアップしていないので完全に真っ白だったが、以前にインストールしていたアプリはある程度自動的にインストールされる。
しかし、システムアップデートでAndroid 5.0.2へのお誘いが。もうアップデートしないぞ。
調子に乗って、Android 4.3のファクトリイメージも焼いてみた。
さらに調子に乗って、再びAndroid 5.1.1のファクトリイメージも焼いてみた。
私のNexus 7は購入時4.1.2で、その後初期化せずに5.1.1までアップデートしていったのだが、完全に工場出荷状態の5.1.1は意外と動作が軽かった。
しかし、やっぱりAndroid 4.4.4に入れ直して現在快調に動作している。