1
0
hugo/content/blog/2021-07-07-android.md
2024-04-23 22:21:26 +09:00

95 lines
4.7 KiB
Markdown

+++
date = "2021-07-07"
tags = ["android"]
title = "nexus7をandroid 11にupgradeしてみた"
slug = "android"
+++
nexus7はかなり長く使っていて、はじめて体験するandroidとしては、とてもよい体験だったと思います。公式romはandroid 6.xがlatestで、私もそれを使用していました。
しかし、nexus7は、custom romがandroid 10までありますし、lineage(android 11)もインストールが可能なので、最新のandroidを試してみることにします。
### lineage(android 11 base)
今回は、android 11ベースのlineageをインストールします。
twrp : https://twrp.me/asus/asusnexus72013wifi.html
lineage os 18.1 : https://forum.xda-developers.com/t/rom-flo-deb-unofficial-lineageos-18-1-2021-06-10.3569067/
sysrepart_1280_120.zip : https://forum.xda-developers.com/t/rom-flo-deb-unofficial-lineageos-18-1-2021-06-10.3569067/
opengapps(android 11) : https://forum.xda-developers.com/t/rom-flo-deb-unofficial-lineageos-18-1-2021-06-10.3569067/
```sh
$ adb reboot-bootloader
$ fastboot flash recovery twrp.img
$ fastboot boot twrp.img
$ adb push sysrepart.zip /sdcard/
# twrp -> install -> sysrepart
$ adb push lineageos.zip /sdcard/
$ adb push opengaaps.zip /sdcard/
# twrp -> install -> lineage, opengaaps
```
![](https://raw.githubusercontent.com/syui/img/master/other/nexus7_android11_lineageos_01.png)
### magisk root
root化は現在、magiskが一般的らしい。
```sh
$ adb install magisk.apk
# magiskでlineageのboot.imgにpatchを当てる
$ adb pull /sdcard/Downloads/magisk_patched.img
$ adb reboot-bootloader
$ fastboot flash boot magisk_patched.img
```
firewallとterminalがroot化されてる図。
![](https://raw.githubusercontent.com/syui/img/master/other/nexus7_android11_lineageos_02.png)
### nexus7 usb接続の不具合
このnexus7は昔からusb接続の調子がよくありません。特にusbでデータ接続すると切断を繰り返すため、容量の大きいファイルをnexus7にuploadするのがストレスでした。
昔からデータ通信、接続が不安定で、充電はできるんですが、データのほうは接続と切断を繰り返すため、コマンドも通る時と通らない時がありました。
これは、おそらくハード的な故障だと思われます。一度分解してusb基板を交換しており、交換直後は問題なかったのですが、最近、また調子が悪くなってきて、おそらく、また故障しています。
```sh
# 接続切断が頻発するときのerror
adb: error: failed to read copy response20210622-UNOFFICIAL_TEST.zip
open_gapps-arm-11.0-pico-20210622-UNOFFICIAL_TEST.zip: 1 file pushed, 0 skipped. 29.1 MB/s (101391216 bytes in 3.323s)
adb: error: failed to read copy response
adb: error: failed to get feature set: no devices/emulators found
```
今回もusb接続が継続されることはほぼなくなり、adbでデータのやり取りが困難でやりづらかった。GUIの表示上は接続できているんですが、内部では接続と切断を繰り返している状態です。
したがって、端末に大きなファイルをuploadしたい場合、androidに入れてるarchにsshしてrsyncでuploadしていました。archでは/sdcard/という名のandroid root dirをmountしているので、特に問題ありませんが、このarchが壊れてしまうと、他にnexus7にデータをuploadする手段があまりないため、かなり不便になります。例えば、gitのprivate repoにpushして、androidでcloneする方法がありますが、このようなcloudを使った手法しかできなくなります。
一応、分解した状態で接続すると、うまく継続されること多いんですけどね...。
したがって、今回、androidをupgredeする際の注意点としては、主要なdir構造を保持すること(いくつかmountするため)とsupersuなどでterminal emulatorにroot権限を付与できること、busyboxをインストール可能であることが重要になってきます。
なお、lineage osをインストールする際によく説明されているストレージの初期化は必ずしも必要ありません。
今回、なぜかbusyboxを`/system/xbin`にインストールできなかったので、`/system/bin`にインストールして、arch.bootを書き換えました。これはmagiskのroot名前空間の設定でglobalを選択するのだろうか。
一応、lineage os(android 11)上でarch.imgまでは起動できました。sshも通る。
![](https://raw.githubusercontent.com/syui/img/master/other/nexus7_android11_lineageos_03.png)
### nexus7 + android 11の感想
前よりもサクサク動くようになった気がしなくもない。