最新のAndroid OSをいち早く体験できるNexusユーザーがヤキモキするのが、OTA配信直後でしょう。
ソフトウェアアプデートの確認を連打したり、今となっては非推奨のフレームワークのデータ削除など、あらゆる手を使っていち早くOTAをいち早く受けたいものです。
今回はOTA配信後まもなく判明するOTAリンクに関するTipsを紹介します。
0.OTAリンクのURL
- Nexus 7 2013 Wi-Fi
http://android.clients.google.com/packages/ota/google_razor/bc4516eb14461efdfaf309311b1f09328b654012.signed-razor-LRX22C-from-LRX21P.bc4516eb.zip - Nexus 9
http://android.clients.google.com/packages/ota/google_flounder_volantis/3c1c624457415536d0cf2769806be4406c51d919.signed-volantis-LRX22C-from-LRX21R.3c1c62441.zip - Nexus 6
http://android.clients.google.com/packages/ota/google_shamu_shamu/1baf39e73c57300f84fe16033193e571b96145f1.signed-shamu-LRX21O-from-LNX07M.1baf39e7.zip - Nexus 5
http://android.clients.google.com/packages/ota/google_hammerhead/c1a33561be84a8a6a7d5a4c8e3463c4db9352ce6.signed-hammerhead-LRX21O-from-KTU84P.c1a33561.zip - Nexus 10
http://android.clients.google.com/packages/ota/google_mantaray/320d94cc277f906647da62c517f77f3e0bd2d01d.signed-mantaray-LRX22C-from-LRX21P.320d94cc.zip - Nexus 7 2012 Wi-Fi
http://android.clients.google.com/packages/ota/google_nakasi/4939a9ff6d10c495beaed26ac96228246f724272.signed-nakasi-LRX21P-from-KTU84P.4939a9ff.zip - Nexus 4
http://android.clients.google.com/packages/ota/google_mako/1c6f10c34ed54fb29844906b2f041c900ba23a6b.signed-occam-LRX21T-from-KTU84P.1c6f10c3.zip
上のリンクはAndroid Policeで紹介されているAndroid 5.0/5.0.1のOTAリンクです。ちなみに、httpsアクセスも可能です。
こう見てみると大体法則が見えてきますね。
URLは、[共通部分(http://android.clients.google.com/packages/ota)]/[機種名]/[ファイル名]となっています。
1.共通部分
まず、http://android.clients.google.com/packages/ota/までは共通。ドメインがgoogle.comなので、Googleのサーバーから配信されていることがわかります。
https://android.clients.google.com/packages/ota/
2.機種名
その後は機種名が入ります- Nexus 7 2013 Wi-Fi:google_razor
- Nexus 9:google_flounder_volantis
- Nexus 6:google_shamu_shamu
- Nexus 5:google_hammerhead
- Nexus 10:google_mantaray
- Nexus 7 2012 Wi-Fi:google_nakasi
- Nexus 4:google_mako
ここまでは、OTAファイル名がわからなくても事前に推測できる部分になります。
3.OTA ZIPファイル名
問題はZIPファイル名。これはOTAを受信してファイル名を見るまではわかりません。OTAファイルは、/cache領域にダウンロードされるので、インストール前に/cache領域を覗けばファイル名が確認できます。
これを見て、1.2.のリンクを当てはめればURLが判明するというわけ。
おまけ
ちなみに、OTAファイル名がクソ長いと思ったことは無いですか?ファイル名にはSHA1 checksumが含まれています。
例えばNexus 7 2013 Wi-Fiのzipファイル名は
bc4516eb14461efdfaf309311b1f09328b654012.signed-razor-LRX22C-from-LRX21P.bc4516eb.zipですが、bc4516eb14461efdfaf309311b1f09328b654012の部分がSHA1 checksumです。
ダウンロード後に落としたファイルが壊れていないか、改ざんされていないか不安だったりしますよね。そういう人のために落としたファイルをインストール前に確認できる手段を残してくれているわけです。
OTAは配信直後は全体のたった数%しか配信対象として選出されません。徐々に対象範囲を広げていき、2週間程度をかけて全体にいきわたる仕組みになっています。
いち早くOTAを受け取った人がZIPファイル名を公開することでOTAリンクが判明し、待ちきれないユーザーが手動でインストールできるようになるのです。
ただし、徐々に配信対象を拡大する仕組みは、深刻なバグが判明した場合に多くのユーザーを守る仕組みでもあるので、OTAを手動でダウンロード/インストールする行為はある意味テスターとしての自覚を持ち、何があっても泣かない心を持つことが大事です。