先日届いた NEXUS 5 は 4.4 Kitkat でした。そのうちに Google から 5.0 Lolipop が配信されるはずです。Lolipop は Kitkat より速いという噂がありとても楽しみなのですが、いつ配信されるか分からないので自分で Google が公開しているファクトリーイメージを使ってアップデートすることにしました。
事前準備が必要です
Android OS を自分でインストールするためには Android SDK と、Android SDK を動かすための Java 環境も必要です。Java 環境は最新の JDK (JDK 8 Update 25) をインストールします。
Java SE Development Kit 8 – Downloads
次に、Mac OS X x64 用の Android Studio をダウンロードしてインストールします。
Installing the Android SDK | Android Developers
JDK と Android Studio のインストールが終わったら、Android Studio を起動すれば良いはずなのですが、起動してみたら “Java not found” のエラーが。
Java のインストールに失敗したのかと思ってターミナルで java -version と入力してみるときちんとバージョンが表示されていますので Java のインストールは上手くできているようです。
1 2 3 4 |
> java -version java version "1.8.0_25" Java(TM) SE Runtime Environment (build 1.8.0_25-b17) Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode) |
調べてみたところ Android Studio が JDK 6 までしかサポートしていないようなので、JDK 8 で起動するためにはターミナルから Android Stdio を起動すれば良いそうです。こちらのエントリを参考にさせていただきました、ありがとうございます。
AndroidStudio – Android Studio 1.Xの起動時に「Java not found」? – Qiita
ターミナルを開いて以下のコマンドを入力して Android Studio を起動します。
1 2 |
> export STUDIO_JDK=/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk > open /Applications/Android\ Studio.app |
セットアップウィザードが起動して各種ツールなどの配置をしてくれます。今回のファクトリイメージを焼き付けるために必要な Platform-tools もこのプロセスの中でインストールされます。
実際にツール群がセットアップされたかをターミナルで見てみましょう。 /Users/<ユーザ名>/Library/Android/sdk/platform-tools に移動してファイルを確認してみるとちゃんとインストールされていました。
1 2 3 4 5 |
> ls NOTICE.txt etc1tool* sqlite3* adb* fastboot* systrace/ api/ hprof-conv* dmtracedump* source.properties |
これで事前準備が整いました。
ファクトリイメージを焼き付ける
次のサイトから 5.0.1(LRX22C) をダウンロードして NEXUS 5 に焼き付けます。
Factory Images for Nexus Devices – Android — Google Developers
ダウンロードした hammerhead-lrx22c-factory-0f9eda1b.tgz を展開してイメージなどを読み取れるようにしておきましょう。
それから、気をつけないといけないのが、ダウンロードしたファクトリーイメージはデータワイプ(データ消去)が前提となっていること。データワイプしない方法もあるようなのですが、特に何か保存しておかなければならないものが有るわけではないのでバックアップも取らずに焼き付けることにしましょう。 Mac に NEXUS 5 を USB で接続したうえで、NEXUS 5 の電源ボタンとボリュームダウンのボタンを同時に長押しすると FASTBOOT モードで立ち上がります。
この画面に表示されている情報に “LOCK STATE” という項目がありますが、ここが “locked” になっている場合は OEM LOCK がかかっていますのでロックを外します。これ以降は Mac のターミナルで実行しますが、先ほどの /Users/<ユーザ名>/Library/Android/sdk/platform-tools に移動してコマンドを入力していきます。
1 2 3 4 |
> fastboot oem unlock ... OKAY [ 48.409s] finished. total time: 48.409s |
アンロックしてもよいか聞いてくるので、もし不安があるならココで思いとどまりましょう。私はボリュームボタンで Yes を選択して先に進みました。
先ほどの “LOCK STATUS” が “unlocked” になりました。
それでは焼き付けましょう、まずはブートローダーを読み込ませます。
1 2 3 4 5 6 |
> fastboot flash bootloader /Users/<ユーザ名>/Downloads/hammerhead-lrx22c/bootloader-hammerhead-hhz12d.img sending 'bootloader' (2579 KB)... OKAY [ 0.295s] writing 'bootloader'... OKAY [ 0.479s] finished. total time: 0.775s |
次にフラッシュブートします…
1 2 |
> fastboot flash boot error: neither -p product specified nor ANDROID_PRODUCT_OUT set |
はまった… エラーが出て止まりました。
正直、何をしていいのやら分かりません。Web を調べてもあまり有益な情報が得られず、思い切って後戻りしようかとも思いましたが、この状態から後戻りして良いのかさえも分かりません。
もう一度、Web で調べてみたところ、次の動画に辿り着くことができ、何やら解決できそうな気配が…
SOLVED Fastboot ANDROID_PRODUCT_OUT set error Nexus 7 2013
ここで説明されているように、ファクトリーイメージを /Users/<ユーザ名>/Library/Android/sdk/platform-tools に展開します。さらに、image-hammerhead-lrx22c.zip も展開しておきましょう。
1 2 3 4 5 6 7 8 |
> unzip image-hammerhead-lrx22c.zip Archive: image-hammerhead-lrx22c.zip inflating: android-info.txt inflating: recovery.img inflating: cache.img inflating: system.img inflating: boot.img inflating: userdata.img |
次に、先ほどエラーになった ANDROID_PRODUCT_OUT 環境変数に展開したディレクトリを指定します。
1 |
> export ANDROID_PRODUCT_OUT=/Users/<ユーザ名>/Library/Android/sdk/platform-tools |
もう一度チャレンジしてみたところ、上手くいきました。
1 2 3 4 5 6 |
> fastboot flash boot sending 'boot' (8852 KB)... OKAY [ 0.484s] writing 'boot'... OKAY [ 0.762s] finished. total time: 1.245s |
システムを書き込みます。
1 2 3 4 5 6 7 8 |
> fastboot flash system erasing 'system'... OKAY [ 1.133s] sending 'system' (981472 KB)... OKAY [ 30.946s] writing 'system'... OKAY [ 65.976s] finished. total time: 98.054s |
ちょっと時間が掛かりましたが、無事に焼き込みが完了。ここで OME ロックをしておきます。
1 2 3 4 |
> fastboot oem lock ... OKAY [ 0.038s] finished. total time: 0.038s |
なんとか無事にイメージの焼き付けができたようなので、電源ボタンを押して再起動します。 NEXUS 5 で読み込みが開始されました。 なんとか無事に 5.0.1 Lolipop にアップデートすることができました。
良かった良かった。今回のアップデートで参考にさせていただいたサイトは以下です。
- Nexusデバイスをファクトリーイメージを利用してAndroid 5.0(Lollipop)に手動アップデートする方法 | juggly.cn
- Nexus 5にファクトリーイメージを焼いてAndroid 5.0 Lollipopをインストールする手順 – GIGAZINE
- 「Android 5.0 Lollipop」の暗号化機能が端末のパフォーマンスに大きな悪影響を及ぼしている可能性が、新たに判明 | GGSOKU – ガジェット速報
- SOLVED Fastboot ANDROID_PRODUCT_OUT set error Nexus 7 2013
なかなか手強い Android 、もう少し勉強が必要ですね。皆さんは真似しないようにしてください。
最後まで読んでいただきありがとうございます。
左のアイコンをクリックして、このブログを Feedly に登録していただけると嬉しいです
Facebook ページでも情報を発信していますのでよろしかったら「いいね!」をお願いします
RSSリーダへの登録は こちら からどうぞ。
コメントを残す