📌

Android端末にカスタムROMをインストールするには

2021/12/18に公開

古いAndroid端末を再利用する必要が出てきた

今年、学校の授業でAndroidアプリのプログラミングを教えることにしたのですが、今の高校生はiPhoneユーザが多くて、Androidの端末を貸し出さないといけなくなりました。ただ、今の手持ちのAndroidは4.1や4.2の端末ばかりで最新の情報を提供できないので良くないなと思ったので、古い端末にカスタムROMをインストールして少しでも新しいバージョンのAndroidの端末を貸せるようにしました。
自分用のメモなので、わかりにくいところもあると思いますが、今後、都度更新するつもりです。

カスタムROMをインストールするまで

Android SDKの場所を確認する。

私はMacで作業をしたので、以下の場所にありました。
~/Library/Android/sdk/platform-tools

ブートローダーのアンロックをする

$ adb reboot bootloader

このコマンドで、ブートローダーが起動します。端末の画面を見て、LOCK STATEが"UNLOCKED"になっていれば、アンロック済みです。LOCKEDの場合は、以下のコマンドを実行して、アンロックします。

$ fastboot oem unlock

TWRPをインストールする。

TWRPのダウンロード

TWRPをダウンロードしておきます。端末によって、対応バージョンが違うようなので、devicesから手持ちの端末を検索して対応しているバージョンのものをダウンロードします。
(私が試したのは、Nexus SとGalaxy Nexus(SC-04D)でしたが、問題ありませんでした)

TWRPのインストール

ブートローダーが起動していれば、書き込み可能なので、以下のコマンドで書き込んでしまいます。

$ fastboot flash recovery twrp-2.8.7.0-crespo.img
Sending 'recovery' (9376 KB)                       OKAY [  1.336s]
Writing 'recovery'                                 OKAY [  0.576s]
Finished. Total time: 1.935s

書き込みが終わったら、以下のコマンドで再起動します。

$ adb reboot recovery

カスタムROMのインストール

TWRPがインストールできたら、adbコマンドやfastbootコマンドを使わなくても書き込みができるので、TWRPでインストールをします。
Android File Transferで端末のストレージにアクセスできるので、(わかるところならどこでもいいと思うけど)TWRPディレクトリにカスタムROMのイメージとMini Dydamic GApps(Google系サービスを利用するためのアプリ)をコピーしておきます。

Nexus Sの場合は、以下のコマンドでインストールしましたが、TWRPからインストールすることも可能だと思います。

$ fastboot erase system -w
$ fastboot flash system system.img

Galaxy Nexusの場合は、TWRPのInstallからコピーしたイメージファイルとGAppsを選択してインストールすると、時間はかかりますが、インストールされます。

カスタムROMのインストール状況

Google Playなどのアプリは入っていないものもあるので、完全にアプリケーション開発用になりそうです。
今後もバージョンアップの対応をしていくことになりそうなので、記録を残しておきます。

  • Nexus S
    • バージョン4.1.2 → 6.0
    • Google Playは未インストール。アプリも最低限度のものしかなかった。
  • Galaxy Nexus
    • バージョン4.3 → 7.1.1
    • Google Playは別途インストールした。Google Play開発者サービスが異常終了しまくる。
  • Nexus 5
    • カスタムROMをインストール予定

参考にしたサイト

Discussion