8
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Nexus 7(2012)にAndroid 7をインストールする

Posted at

Nexus 7(2012)が余っているので、AndroidのカスタムROMをインストールしてみました。
手順としては他のAndroid機種でも大体同じなので、試してみたい人はどうぞ。

なんでこんな古いタブレットをまだ使っているかというと、Androidアプリの実機テスト用です。
パワフルな最新機種で早く動くアプリを作るのは簡単です。
しかし古い(非力な)機種でもある程度の早さで動くアプリを作るには、アルゴリズムやデータ構造の工夫が必要です。
そうゆうテストをするために敢えて古い機種を残しています。

今回はXDAのフォーラムで紹介されているAOSP 7.xをインストールします。

1. TWRPのインストール

まずはRecoveryと呼ばれるプログラムを書き換える必要があります。
Recoveryは何をするかというと、Androidをリセットするときに元の初期状態に戻すためのプログラムです。

いくつか有名なリカバリーソフトがありますが、TWRPが一番有名なのでこれを使いましょう。


Nexus 7の電源ボタン下ボリュームボタン同時押しして、bootloaderモードに入ります。
image740.png

PCとUSBケーブルで接続して、fastbootコマンドで確認してみましょう。

$ fastboot devices
015d15b4d927e80e	fastboot

初めての人は、OEMをロックを解除する必要があります。

$ fastboot oem unlock

OEMロックを解除したら、製品保証対象外になるよと脅してきますが無視してYes
2012年製なので、もはや保証も何もないw

DSC02155.jpeg


TWRPを下記からダウンロードしてきます。

(Asus Nexus 7 2012 WiFi) twrp-3.6.1_9-0-grouper.img

(Asus Nexus 7 2012 3G) Download twrp-3.6.1_9-0-tilapia.img

ちなみに他の機種のRecoveryを探すには、「製品のモデル名 + TWRP」で探せば大概見つかります。(多くの場合はXDAというサイトで見つかります)


では書き換えましょう。

$ fastboot flash recovery twrp-3.6.1_9-0-grouper.img
Sending 'recovery' (10836 KB)                      OKAY [  1.356s]
Writing 'recovery'                                 OKAY [  2.194s]
Finished. Total time: 3.615s

もしこのときにFAILED (remote: '(InvalidSize)')とか表示されたら、違うバージョンのRecoveryを探しましょう。
TWRPならほぼ問題ないとは思います。
(どうしても見つからない場合は、recovery領域のパーティションサイズを変更して、ddコマンドで書き換える方法もありますが、この記事では省略します)

Sending 'recovery' (12832 KB)                      OKAY [  0.509s]
Writing 'recovery'                                 FAILED (remote: '(InvalidSize)')

書き換えが成功したら、recoveryモードに入ります。
maxresdefault.jpeg

ちゃんと書き換えできていれば、TWRPが表示されるはずです。
Screenshot_2022-04-21-20-28-14.png

2. OSのインストール

AOSPのカスタムROMを探してきて、ダウンロードします。

(Asus Nexus 7 2012 WiFi) aosp_grouper-7.1.2-ota-20220311.eng.ds.zip

(Asus Nexus 7 2012 3G) aosp_tilapia-7.1.2-ota-20220311.eng.ds.zip

インストール方法は2つあります。

  1. /sdcard/に転送して、TWRPからインストール
  2. adb sideloaderを使用してインストール

今回は1番を試しましょう。

$ adb push aosp_grouper-7.1.2-ota-20220311.eng.ds.zip /sdcard/
aosp_grouper-7.1.2-ota-20220311.eng.ds.zip: 1 file pushed, 0 skipped. 1.3 MB/s (222437777 bytes in 166.948s)

転送が終わったら、インストールします。

[Install] → aosp_grouper-7.1.2-ota-20220311.eng.ds.zip を選択。
Screenshot_2022-04-21-20-44-00.png

無事にインストールが完了すれば、このようになります。

Screenshot_2022-04-21-20-46-28.png

ここで一旦[Reboot] -> [Recovery]で、再起動して、もう一度Recoveryモードに入ります。

3. Open GAppsのインストール

AOSP版のAndroid ROMには、Google Play StoreなどのGoogle Appsが入っていません。
この場合、Google Play Servicesを利用しているようなアプリ(ほぼ大半のアプリ)が動きません。
なのでインストールします。

OpenGapps

ここから arm,7.1,picoを選択します。
Screen Shot 2022-04-21 at 6.51.49 PM.png

まずは/sdcard/に転送します。

$ adb push open_gapps-arm-7.1-pico-20220215.zip /sdcard/
open_gapps-arm-7.1-pico-20220215.zip: 1 file pushed, 0 skipped. 1.3 MB/s (190611834 bytes in 141.555s)

続いて、gapps-config-grouper.txt (またはgapps-config-tilapia.txt)というファイル名で、インストールするGAppsを指定します。

gapps-config-grouper.txt
# try it this way
Include
Core
calsync

# stock removals -- these would work
# Browser
CMAccount
CMUpdater
CMSetupWizard
Email
ExchangeStock
Hexo
# (Eleven)

# this doesn't work. may not need anyway if we skip 26MB GoogleTTS
# +PicoTTS
# -GoogleTTS

# maybe move fonts to /sdcard ? 38MB
# or in a pinch remove NotoSansCJK -- 18MB

これも/sdcard/に転送します。

$ adb push gapps-config-grouper.txt /sdcard/

あとはInstallからインストールを行えば良いはずです。

起動前にWipe -> Format Dataからデータ領域をフォーマットしておきます。

4. ようやく起動!

Googleのロゴが5分くらい表示されたら、セットアップウィザードが表示されます。

もしかしたらGoogle Frameworkがクラッシュを繰り返すかもしれません。何回かのクラッシュした後は普通にセットアップ可能です。(そうゆう場合は、TWRPに戻ってWipeすると良いです)

PXL_20220422_071102975.jpg

5. AndroidWebViewを更新する

AOSP 7.xに入っているWebViewはバージョンが古いので、最近のJS frameworkが動きません。このためGoogleアカウントでログインが出来ないという問題が発生します。

そこでWebViewを更新します。Android 7のリリースされた頃のAPKをダウンロードする必要があるため、少し古いバージョンのAPKを利用します。

$ adb root
$ adb remount
$ adb install -r com.google.android.webview_70.0.3538.27-353802700_minAPI21(armeabi-v7a)(nodpi)_apkmirror.com.apk

6.使用感はどう?

2012年製のタブレットということで、さすがに現代のスマホに比べるとちょっともたつき感がありますが、Developer OptionsでアニメーションをOffにすると、そこそこ使えます。
GPUを使うようなアプリは駄目ですね。Webサイトを見るくらいなら使えます。

まぁ「低スペックAndroidの検証用デバイス」なので、アプリの動作検証をするくらいには丁度よいです。

8
6
5

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?