Nexus6をヤフオクで落札したらOSが期待していたのと違ったのでダウングレードしたら大ハマリした

会社でのアプリの検証用ということで、Lolipop(Android5系)の端末が必要に

久々にデジモノ系のネタです。苦労味噌入ってます。

職場で
AndroidOSのLolipop(5.x)系で、できればNexus系の端末が必要
というオーダーだったので、去年、よく使っていたNexus5でいいかなと思いつつも、おんなじじゃ面白くないなと思い、一度触ってみたかったNexus6を狙ってみることに。

※そういえばこんなこともあったな⇒田園都市線の満員電車で押しつぶされたせいなのか、2台のNexus5が故障したので、分解してニコイチにしてみた

すでに、Nexus6Pなる、後継機種がでてたのだが、機能は一部良くなってるのものの、なんか形がちょっとダサくなっていたり、無接点充電ができなくなっていたり、あんまりパットしなかったので、なんとなくデザインを重視してNexus6を狙うことに。


Google nexus6Pは買いなのか? 初代nexus6とスペック比較してぶっちゃけてみた | 物欲ガジェット.com :

いつもどおりのメルカリとYahoo!オークションにて物色

メルカリやヤフオクを見ていると大体がみんな7.1.1の最新バージョンになっていたので、5系はないのかなあ・・と思って探しているとGEOが(税込17,236円)で販売しているのを発見。

とりあえず手に入ったのでヤレヤレと思っていたら大きな勘違いをしていた・・・。

あくまで初期OSが5.0なのであって、現OSのバージョンのことではなかった。。。

届いた端末の設定画面をみてびっくり「Androidバージョン 7.1.1」

あがっとるやんけー。

そうなんです。。。発売当初のOSのバージョンが記載されていただけの話で、普通に最新版になっていたのでした。。。

これじゃ、せっかく選んだ意味がない、、、しかし、返品もできないし、どうしよう・・・と思っていたら、そうか、OSのバージョンをダウングレードしたらいいのではないかと。

まずは色々情報収集

ネット上にある情報はどちらかというと、新しいOSに手動でアップグレードしたというものが多く、わざわざNexus6を7系から5系に下げる人はいなさそう・・・。

といっても、OSを書き換えるという点ではアップもダウンも同じなので、ひとまず(文鎮化が怖いけど)ひとまずやってみようと。

主に参考にさせてもらったブログはこちら
苦節4時間!! Nexus6を手動でAndroid5.1にアップデートしました。 | More Access! More Fun! :

ちなみに私は6時間くらいかかりました・・・。途中、どうにもわからず半泣きに。

主な書き換え手順はこんなかんじ

0.PC(母艦)とAndroidをUSBケーブルでつなぐ
ここで、安物のケーブルとかを使ってるとうまくいかないので要注意。

時折、USBポートが問題に成ることもあるらしいが、そこでははまらなかった。ちなみにPC側はWindows10のVAIO tap21を使用。

1.PCから操作できるようにするためのUSBドライバーインストール
Google USB ドライバを入手する | Android Studio :
まずここで、結構はまりました。adbとfastbootという2種類の接続のタイミングごとにドライバが違ったり、ずっと「不明なデバイス」が消えなかったり、Android1.0なんて出てこなかったりと説明どおりに進まず難航。結果、そこは放っておいて問題なかったのだが、「うまくインストールできない原因、これだろ!?」、って普通思うわー。

2.adbとfastbootコマンドが使えるようにする
adbコマンド/fastbootコマンドをSDK不要ですぐ使えるようにする方法 :
AndroidSDKを入れようとするとAndroidStudioなる、大掛かりな開発環境を入れないようなのだが、結果、このMinimal ADB and fastbootというコマンドだけあれば、事足りた。
それがわかるまでも結構ハマる。

また、このあとに出てくる、手順4.のファクトリーイメージのデータをこのツールと同じフォルダに置いたらPATHを通さなくてもうまくいくかなと横着しようと思ったものの、うまくいかず、結局、環境変数(PATH)に、追加することになったので、最初からおとなしくPATHを設定するのをオススメする。

3.ブートローダーのアンロック
Nexus6のブートローダーアンロック方法。 :
ここで、2で入れたコマンドを叩くのだが、その前に開発者向けオプションをいじる必要があったのに気づかずハマる。

そしてアンロックすると初期化されたショックでUSBデバッグがOFFになっているのに気づかず、またハマる。

いちいち、何が原因でうまく書き込めないのか、デバイスが認識しないのかがわからないので、そこが辛い(わかっていれば何のことはない・・・)

4.ファクトリーイメージの入手
Factory Images for Nexus and Pixel Devices  |  Google APIs for Android  |  Google Developers :
いわゆる工場出荷状態に戻すだけで、データのバックアップなど必要なければ、このファクトリーイメージを取ってきて書き込めば、その状態に戻るということ。5.1.1で最新で、機種依存しなさそうな

“shamu" for Nexus 6 5.1.1 (LMY48Y)

というのを選んで見る(1GBくらいあるので、ドライブの空き容量に注意)

5.ファクトリーイメージの書き込み
Nexusデバイスをadb sideloadで手動で強制的にアップデートする方法(ブートローダーアンロック/Root化/カスタムリカバリ不要) :

最初ここに書いてある方法でトライしていたのだが、どうにも「flash-all.bat」の進行中で3つ目くらいのイメージの書き込みのところでエラーで止まってどうにもならず・・・


謎に文字化けするし「CreateProcess failed:」とか「error: Cannot generate image for userdata」とかでググっても対策でてこないしで涙目。

.batだとうまくいかないことがあるという記述を見つけて、バッチファイルの中を覗いてコマンドを1つずつ地味に実行してもうまくいかず・・・。

結局・・・

Nexusデバイスへのファクトリーイメージ導入時に「error: update package missing system.img」のエラーになる場合の対処法。 :

を参考に、ひたすらに展開したイメージデータを手動で書き込むということに。

ダウンロードしてきたファクトリーイメージの中の、さらに「image-shamu-lmy48y.zip」を解凍した中のフォルダでコマンドプロンプトを起動し

fastboot flash bootloader ..\bootloader-shamu-moto-apq8084-71.10.img
fastboot flash system system.img
fastboot flash recovery recovery.img
fastboot flash boot boot.img
fastboot flash cache cache.img
fastboot flash userdata userdata.img
fastboot flash radio ..\radio-shamu-d4.0-9625-02.101.img
fastboot reboot

と実行。ドキドキしながら再起動させてみると、無事に5.1.1に書き換わっていました。長かった・・・・。

おわりに

1回、環境を作ってしまえば、イメージの書き込みは数分で終わるので、まあ、なんだかなあ、という感じではあります。

だいぶ久しぶりにコマンドライン、叩いたね。。。(CDでchange directoryとか、今の人、知らないでしょ!)

そして、しばらくするとまた自動的に7.1.1のシステムアップデートが降ってきて、更新してしまうと当然、7.1.1に戻ってしまうので要注意です!

でも、これ、1回、やり方わかったら文鎮化してしまったAndroidを救済できるなら、胸熱だなー。ジャンク品を落札してやってみようかな(笑)

今回の満足度:★★★★☆