Nexus7(2013)のバージョンアップをしてみる(自己責任でやる)

長らく使用していたNexus7(2013)ですが、OSのバージョンがかなり古く(Version6.0.1なのでmarshmallowになります)公式のイメージの更新も行われない状況でした(セキュリティパッチは2016年8月の提供で終了しています)。個人的には、起動さえしてしまえばそこそこ使える状況ではあったので、KindleやYoutubeなどで使用していました。ただ、セキュリティ的には微妙でもあるので、なんとかならないかなという状況でした。

そんななか、使っていた家族がiPadを購入したこともあり、Nexus7が自分のもとにやって来ました。そこで、自己責任にはなりますが、一念発起してAndroidのバージョンアップをしてみました。詳しい内容はかなりネット上にあると思いますのでそちらを見てもらえればいいかなと思います。ただ、自分はそれをみてもハマった点があったのでそのあたりをメモとして記録してみたいと思います。

この作業は自己責任でお願いいたします。真似をして文鎮になっても保証できないので、それを覚悟して行ってください。

多分、この手のAndroidのバージョンアップなどをしている方からすれば、常識という点でも引っかかっていたような感じですけどね。

基本的な流れは以下の2つのサイトを参考にさせていただきました。

参考 noitalog.tokyo

gadgetrip.jp

↑おすすめ

このバージョンアップによりAndroidのベースがVersion11になりますが、実際にはLineage OS 18.1になります。Lineage OSは以前RaspberryPiにもインストールしていたAndoroidベースのOSとなります。

LineageOSはAndroidをベースとした、スマートフォンやタブレット用のフリーでオープンソースなオペレーティングシステムである。

ja.wikipedia.org

参考(RaspberryPiへのインストール)

uepon.hatenadiary.com

では作業を進めていきます。

作業の手順

作業は以下のような手順で行っていきます。

  1. adbおよびfastbootコマンドの導入
  2. USBデバッグなどの有効化
  3. 必要なファイルのダウンロード 3.TWRPの導入
  4. システム領域拡張
  5. OSファイルとOpen GApps のファイルの転送とインストール
  6. キャッシュの削除と再起動
  7. Lineage OSの設定

わかっている人であれば参考サイトとこの手順のメモですんなりアップデートできると思います。

adbおよびfastbootコマンドの導入

これは以下のファイルをダウンロードしてパスの通った場所にコピーすればOKです。展開先はCドライブのルートにしておくと楽でしょう。コピー後に必ず、コピーしたフォルダを環境変数PATHに追加してください。

developer.android.com

USBデバッグなどの有効化

USBケーブルNexus7とPCを接続します。そして、Nexus7の設定からUSBデバックの有効化を設定します。このあたりもAndroidで開発などをしている方であればご存知かと思います。

引っかかった点その1

そしてここで引っかかりました。コマンドラインからadbを以下の様に使うのですが、デバイスが見つかりません。

PS1 > adb devices

原因はデバイスドライバーがインストールされていないからです。以下のサイトからWindows用のUSBドライバを入手してインストールします。これもファイルを展開して、infファイルを使ってドライバをインストールを行います。インストールを行うとタブレットが認識されるようになります。

developer.android.com

必要なファイルを取得

後続の作業に必要なファイルをダウンロードします。

  • sysrepart_1280_120.zip
  • lineage-18.1-20210207-UNOFFICIAL-flo.zip → Wi-FiモデルのOSイメージ(LTEモデルは別のファイルなので注意)
  • open_gapps-arm-11.0-pico-20210130-UNOFFICIAL_TEST.zip

上記のファイルはXDA開発フォーラムの以下のリンクにすべてありますのでダウンロードしておきます。

forum.xda-developers.com

TWRP導入&引っかかった点その2

実はデフォルト状態では新しいOSイメージをインストールすることがパーティションの領域の設定によって行うことができません。そこで、先程ダウンロードしたファイルであるsysrepart_1280_120.zipをつかってパーティションサイズを拡張していくのですが、そのままでは作業はできず、その前段でTWRP(Team Win Recovery Project)を導入してから作業を行っていきます。

まずは、電源ボタン + 音量下ボタン を押しながら起動するか、またはUSB接続中に以下のコマンドで再起動することで、fastbootモードで起動します。

PS > adb reboot bootloader

これ以降の作業でも引っかかります。adbが起動できないことがあります。色々調べたところ、あるアプリが自動でadbを起動させてしまっているようで、手動のadbが重複起動になってしまうため起動できなかったようです。そのアプリはSplashtop Wired XDisplayでした。以下の情報がなかったらわからなかったです。

参考 soncho-works.com

adbの起動がうまくいったら、続いては領域の拡張となります。Bootloaderの端末メーカーlockが状態が解除できていないと以降の作業ができないので、それを行う必要があります。注意点としてはunlockすると通常のOSの起動はできません。そのため、unlockしたあとはfastbootモードでの作業のみしかできないことも理解しておく必要があったようです。

Bootloaderをunlockするには以下のように実行します。

PS > fastboot oem unlock

実行後しばらくすると、端末の方でYES/NOを聞かれるので、音量ボタンで選択、電源ボタンで決定することで、unlock状態になります。fastbootモードの画面の一番下にもunlockと表示されるようになります。(※これ以降は通常モードの起動ができないので必ずfastbootモードで起動てください)

Bootloaderをunlock状態にしたら、TWRPを導入していきます。

TWRP(Team Win Recovery Project)とはカスタムリカバリ(Recovery)の一種で、リカバリとはシステムの初期化やOSの書き換えなどを行うためのものです。標準状態のAndroidでも搭載されているのですが、TWRPを用いることで標準リカバリではできなかった、非純正ROM(カスタムROM)を書き込んだり、システム(ROM)全体のバックアップをしたりすることができるようになります。

https://andmem.blogspot.com/2014/08/twrp-boot.html#chapter-1

コマンドラインから事前にダウンロードしておいたファイルを転送して、TWRPのイメージを転送して再起動をします。

PS > fastboot flash recovery twrp-3.3.1-0-flo.img 
PS > fastboot reboot-bootloader 

fastbootモードの画面でタブレット端末側の音量キーを押して、【Recovery mode】に表示をかえて、タブレット端末側の電源ボタンを押すことで決定します。

システム領域拡張

再起動後にTWRPが起動するとメニュー画面が表示されます。TWRP起動時点では/Systemパーティションがマウントされていないので、 メニューから【Mount】ボタンを選択して、systemパーティションにチェックをいれてマウントを行います。

続いてsysrepart_1280_120.zipをファイル転送して、リカバリを行うことでパーティションが拡張されるようになります。

PS > adb push sysrepart_1280_120.zip /sdcard/

TWRPのTOP画面の【Install】ボタンをタッチすると先程のsysrepart_1280_120.zipをファイルが表示されているので ファイル名をクリックして、【Swipe to confirm Flash】の部分を右側にスワイプすると、ファイルが実行され自動的にパーティションの リサイズが行われます。

リサイズされたらタブレット端末側をRecoveryモードで再起動すればOKです。容量を確認しておきましょう。

OSファイルとOpen GAppsのファイルの転送とインストール

あとはOSイメージの転送とインストールを行うのですが、先にストレージのフォーマットを行っておきます。

【Wipe】ボタンタッチ→【Fotmat Data】選択→”yes”と手入力

フォーマット後に事前にダウンロードをしておいたファイルの転送を行い、

PS > adb push lineage-18.1-20210207-UNOFFICIAL-flo.zip /sdcard/
PS > adb push open_gapps-arm-11.0-pico-20210130-UNOFFICIAL_TEST.zip /sdcard/

端末側で【Install】ボタンをタッチしてファイルを選択してインストールを行っていきます。OSイメージのインストール後に【Add more Zips】ボタンをタッチすれば、Open GAppsも続けてインストールできます。

キャッシュの削除と再起動

あとはインストールが終わったら【Wipe cache/delvik】を選択しておけば不要なキャッシュを削除できるので、念の為行っておきます。最後に再起動を行えばAndroid11(Lineage OS 18.1)へのバージョンアップが完了します。

Lineage OSの設定

Lineage OSの設定は通常のAndroidと同じ手順なので、説明がなくても迷うことはありません。

設定が終わるとOSの設定は以下の様に変更されています。無事にバージョンアップできました。

このバージョンアップ作業ではGoogleのアプリなどはPlayストアのみが導入されている状態なので、必要があればChrome、Gmail、Gboadなどもインストールしておくと良いでしょう。

おわりに

画面のキャプチャができなかったのでほとんど文字だけでの話になってしまいましたが、参考サイトを見てもらえればわかりやすく解説されていると思いますのでよく見て、理解しながらの作業を行っていきましょう。

今回のバージョンアップで正直動作が遅くなるのかなと思っていたのですが、以前とほとんど変化してないような気がします。オリジナルのAndroid Version6.0.1では、通電(スリープからの復帰後)してから2分~3分ぐらいはプロセスの通信でタブレットの操作ができない状況になっていたのですが、バージョンアップ後はそこまで操作できるまでに時間もかからず、そこまでの動作の遅さも感じていません。(というか変わっていない)

もちろん、最近のタブレットを購入すればもっと快適なのはわかりきっている話なのですが、まあこれはこれでいいかなと思っています。(金銭的なコストは発生しませんし)

ということで、Nexus7(2013)のOSをバージョンアップさせてみたという話でした。

/* -----codeの行番号----- */
' } }) e.innerHTML = codeBlock; });