Lenovo TAB4 8 PlusにLineageOSを導入する際の備忘録

LineageOSについて
17.1(Android 10ベース)と16.0(Android 9ベース)があり、現在17.1の方はやや不安定という噂がある。
こちらで確認した限りでは16、17.1共にだと背面カメラが動作しない、背面カメラに切替が出来ないという症状が出ている。
例:OpenCamera、ProCam X、Camera FV-5、クルクル(デンソー純正QRリーダー)、カラオケ予約(JOYSOUND用キョクナビアプリ)など
またバージョンに関わらず正規のAndroidと認識されないため、起動時にOSチェックを行うアプリは動作しない。
例:Media Link Player for DTV、WOWOWメンバーズオンデマンドなど
Media Link Player for DTVが動作しなくなったのが痛かったが『DiXiM Play Android』はrootを解除したら動作したので購入した。(※2020年11月23日現在)
月額100円、買切り1300円(税抜)…なのは良いとして、『インストールできるのはアカウント一つに付き1機種』で『Google Play』のポイントを使って買えなかったのが残念。
機能自体はMedia Link Player for DTVより安定していて、番組転送しながら転送済み番組を見られるのは良い。

Lenovo Tab4 8 Plus WiFiモデル (Qualcomm APQ8053/8.0型液晶/4GBメモリー/ストレージ64GB/オーロラブラック)ZA2E0024JP
Lenovo Tab4 8 Plus WiFiモデル (Qualcomm APQ8053/8.0型液晶/4GBメモリー/ストレージ64GB/オーロラブラック)ZA2E0024JP

閑話休題。

Android 10はWi-Fi関連機能の更新によりWi-Fiを自動切り替えするアプリの自動切り替えなどが出来なくなっている噂あり。
ただし全てではなくWiFi PrioritizerなどOS側の切り替え機能を用いたものであれば動くようだ。
またクリップボード関連にも制限が入り、Joinや切り取り箱などadbコマンドにより特別な手順を踏まないと従来の機能が使えないものがある。

あと10はルートから見たフォルダ構成が変わっているため、手動で設定するアプリなどはGoogleのバックアップからの引き継ぎに際し上手く動かなくなることがある。
以上のことが確認できて特に不満は無かったが、今後の影響と移行時の面倒くささを減らすためAndroid 9ベースの『LineageOS 16 for Lenovo TAB 4 8 plus』を導入することにした。

ちなみに以下のような違いがあるらしい
LineageOS 16 for Lenovo TAB 4 8 plusで動作するもの
Calls/SMS/Mobile data
(電話/SMS/モバイルデータ通信)
Wifi
(無線LAN)
Bluetooth
GPS
(現在地)
Camera
(カメラ)
Audio
(オーディオ&スピーカー)
FM radio
(FMラジオ)
Torchlight
(背面カメラ側のフラッシュや照明)
LED
(通知ランプ)
USB and WLAN tethering
(USB&無線LANテザリング)
Fingerprint sensor
(指紋認証)

LineageOS 17.1 for Lenovo TAB 4 8 plusで動作するもの
Calls/SMS/Mobile data
Wifi
Bluetooth
GPS
Camera
Audio
FM radio
Torchlight
USB and WLAN tethering

16の方にのみLEDとFingerprint sensorが動作する書かれているが、17.1でも指紋認証は機能するのを確認。
自分の環境では16、17.1両方ともアウト(背面)カメラが動作せず、切替ボタンがある場所をタップしても動作せず。
インアウト切り替えボタンが有りタップ反応のあるカメラも前面には切り替わらず。
もともとアウトカメラ機能しか持っていないものは写りもしない(JOYSOUNDのカラオケ予約など)。

他の機種にLineageなどのカスタムROMをインストールした場合でもカメラが動作しないことがあったりするらしいので(事実)
内部のパーツを時期によってこっそり変えていたりしてドライバーが当たらなかったり認識しなかったりするのかもしれない(筆者妄想)
-----------------------------------------------
◇下準備1
以下より必要なソフトをダウンロード
UNOFFICIAL LineageOS 16.0 for Lenovo TAB4 8 plus (ver20200320)

(ver 20200712)も同じコミュニティにあった。
TWRP 3.4.0-0のこれ』を使ってとも書いてあった。

UNOFFICIAL LineageOS 17.1 for Lenovo TAB4 8 plus (ver20200906)

TWRP and ROOT for Tab 4 8/10 (Plus) (ver 3.2.3-0)
TWRP 3.4.0-0もあるけれど微妙に挙動が違うので、以下の手順では3.2.3-0を使用した場合に限る。

Google関連のアプリを『OpenGApps』から取得する
Art001.png
Lenovo TAB4 8 PlusのCPUはARMアーキテクチャーかつ64bitなので『ARM64』を選択。
LineageOS 16.0をインストール予定ならAndroid『9.0』、LineageOS 17.0なら『10.0』を選択。
最低限のアプリのみ必要なら『Pico』を、一揃え欲しいなら『full』を選択してダウンロードしてLineageOSと一緒にmicroSDカードに入れて、インストール時にタブレットに挿して使う。


◇下準備2
OEMロック解除(要Wi-Fi接続&認証)を行う。
開発者メニューを表示させ、USBデバッグモードをONにする。

◇下準備3
Fastbootモード(緑色のAndroid君が表示)を起動する方法は以下の3つ。
A.リカバリーモードで起ち上げる方法はLenovoのロゴが表示されて1秒後ぐらいまで『電源と音量+』を長押し(その後Fastbootを選択)
電源ボタンを長押ししすぎると通常ブートになってしまうので注意。
B.電源OFF状態から『電源と音量-』長押しでFastboot直接起動。
C.ケーブルでパソコンと接続後、以下のコマンドを実行
adb reboot bootloader

Fastboot.jpg
上のような画面が出たら、必要ツールを集めたフォルダに移動後コマンドライン画面を開き
以下手順に従ってTWRP for TB-8704X/Fを導入。
1.fastboot oem device-info(unlock出来ているかを再度確認)
2.fastboot oem unlock-go(ロックを解除し、デバイスが出荷時設定にリセット)
3.fastboot boot twrp-3.2.3-0-.img(TWRPをインストール&起動)

Art000.png

・その他、確認用など
fastboot devices
デバイス名取得

fastboot oem device-info
OEMアンロックなどデバイスの状態を表示

fastboot format cache
cacheをフォーマット(TWRPでキャッシュ削除がうまく機能しないときなどに)

fastboot boot twrp-3.2.3-0-tb_8704x.img
TWRP起動

◇TWRP内操作
Screenshot_2020-08-31-17-27-47.png
英語が分からない人はまず最初に『Setting』>一番右上の地球マークタブ>『Japanese』を選択肢、右下のSet Languageを押すと日本語表示になる。
Screenshot_2020-08-31-17-31-14.png

Screenshot_2020-08-31-17-31-18.png
日本語にはなるけれど英語サイトも日本語サイトも解説のほとんどが英語の表記を元に解説されているので、それらを手引きに進める場合は英語のままの方が良いかもしれない。

設定の『Prompt to install TWRP app if not installed』は『インストール作業を実行後、TWRPアプリがインストールされていない場合、インストールの確認をとる』という意味。
特にチェックをいじる必要はない。
Screenshot_2020-08-31-17-30-31.png

初回起動時SystemをRead onlyにすると後で『Wipe(消去)』に失敗するので、しないように。
もししてしまったら、『Mount(マウント)』メニューから『Mount system partition read-only(Systemを読み取り専用でマウントする)』のチェックを外す。
Screenshot_2020-08-31-17-30-52.png

『Backup(バックアップ)』からSystem、Data、Boot三つのバックアップをMicroSDカードなどに取っておく
内蔵ストレージの最大容量、使用容量に応じてMicroSD側に4~64GB程度の空きが必要。
Backup.png

Android 7からLineage OS 16以降にアップデートする場合、暗号化の仕様が変わっているため
『Wipe』メニューから『Format Data』を行いデータを完全に削除する(※1)、フォーマット後マウントさせるために再起動。
Screenshot_2020-08-31-17-30-23.png

※1
以下のように書かれていたので。
https://forum.xda-developers.com/thinkpad-tablet/development/rom-lineageos-17-1-lenovo-tab-4-8-plus-t4107791
>TWRPでは、ストックROMから来て、このROMのインストールを実行する場合は、データを消去します。
>Android 8(8.1)のストックROMがインストールされている場合、使用されている暗号化はAndroid 7.1と互換性がないため、保存されたデータを失う前提でDataをフォーマットする必要があります。


その後Wipeの『Advanced Wipe(高度な消去)』から、Dalvik Cache/ART Cache、System、Data、Cacheを消去。
Screenshot_2020-08-31-17-32-00.png

なんのエラーも出なければ良いが、マウントできないとか赤字のエラーが出たら
『Setting(設定)』で『Use rm -rf instead of formatting(初期化にrm -rfコマンドを使う)』にチェックを入れて再度Advanced Wipeを実行。
これはファイルを削除するだけで本来のフォーマットではないが、これを1回した後通常の消去をするとなぜか成功する。(※TWRP 3.2.3-0の場合のみ)
Screenshot_2020-08-31-17-31-24.png

またAdvanced Wipeで、Dalvik Cache/ART Cache、SystemとData、Cacheを分けて消去するとか、1個ずつWipeすることで終了までたどり着くこともある。
これらも失敗するようなら『fastboot format cache』でキャッシュを削除することでWipeがうまく動くようになる…こともある。


lineage-17.1-20200601-UNOFFICIAL-TB8704.zip
open_gapps-arm64-10.0-full-20200825.zip
上記をMicroSDカードにコピーし『Install(インストール)』を実行。
別に本体にコピーする手段があればそちらでも良い。
Screenshot_2020-09-02-21-28-32.png
プログレスバーが表示されなかったり、フリーズしているように見えても10分程度は様子を見る。
電源ボタンを押して消灯を繰り返したり、音量-&電源ボタンでスクリーンショットを撮影しているうちに進むこともある。
10分たってもフリーズ状態なら電源長押しでリセット&FastbootからTWRP起動のやりなおし。

Lineageのインストールが終わった後に再起動せず、続けてGAppsをインストールして、終わったら画面左下の『Cache/dalvikの消去』ボタンを押して削除してから再起動。
Screenshot_2020-09-16-20-58-00.png

再起動前に聞かれる『TWRPのアプリをインストールするかどうか』は任意。
ちなみにLineageの初回起動後にGAppsをインストールすると、Lineage標準のTrebuchet launcherが再起動を繰り返して詰む。(ランチャーを変更すればワンチャン行けるかも知れない)

再起動するとLineageのロゴが動き始めるので5~10分程度放置する。
初回起動時のみかなり時間がかかるが、このスプラッシュスクリーンのループが10分以上続いたら失敗している可能性が高い。
IMG_20201126_115743.jpg


そのまま進んだらOK。
進まなかったら再起動時に音量+&電源ボタン長押しして立ち上がるメニューから『Wipe data/factory Reset』(データ領域消去/工場出荷状態リセット)をして再起動。
IMG_20201126_115643.jpg

再起動すると3~5分程度でLineageOSが起動する。
index.gif
上記のようにスプラッシュスクリーンの最後にLineageOSのロゴが完成すれば成功。

もしroot取得のためにMagisk導入する予定ならば、LineageOSの初回起動後セットアップ作業をせずに即電源を切ってインストールする。
Magiskインストール後はCache/dalvikの消去は押さないで再起動。
Screenshot_2020-09-02-19-02-21.png
Magiskインストールに失敗するならWipeでDalvik Cache/ART CacheとCacheを削除すると上手くいった。
再起動後にはアプリ一覧から確認のみ出来て、再々起動後にはドロワーからアプリの実行ができるようになる。

初回起動後Trebuchet launcherとPixel launcherを選ぶところで(Trebuchet launcherは再起動を繰り返すので)Pixel launcherを常時設定する。
ここまで進めばおおむね大丈夫。

ちなみに…LineageOS 16(Android 9相当)
lineage-16.0-20200320-UNOFFICIAL-TB8704.zip
上記ファイルのインストールは先に下のGAppsのインストールを試し、一度エラー20のマウントエラーが出ないとプログレスバーが進まなかった謎仕様(おま環?)。
open_gapps-arm64-9.0-full-20200823.zip
他にもTWRPから『Wipe(消去)>Cache』やfastboot画面を呼び出してコマンドラインから『fastboot format cache』を実行してキャッシュ削除したりすることで、インストールがあっさり成功することもあるので、cache削除や手順を入れ替えて試行錯誤はどのみち必要だと思われる。
root化もLenovo TAB4 8 plusの世代(新旧)によって手こずる場合があるという報告もあるので、試行錯誤をするのが面倒なら諦めた方が良いかも?


もし購入意欲が湧いたなら以下のリンクから購入して頂けるとブログ更新の励みになります。
楽天市場『Lenovo TAB4 8 Plus』アフィリエイトリンク
Art000.png
-----------------------------------------------
以下はAndroid 10で動かなくなったアプリを動作させるために必要だった資料参考
https://joaoapps.com/AutoApps/Help/Info/com.joaomgcd.join/android_10_read_logs.html

Join

Android10でJoinにあなたのクリップボードを読み取る権限付与するニーズに参加するには
AndroidデバイスがADBによって認識されていない場合は、そのドライバーをインストールする必要があるかもしれません。

ここから始めるのが良いでしょう。
https://developer.android.com/studio/run/win-usb

1.開発者モードを有効にします。Android設定->電話情報に移動し、ビルド番号オプションを探します。開発者モードが有効になるまで、何度かタッチします。
2.USBデバッグを有効にする:Android設定->に移動し、{開発者向けオプション}オプションを探します。そこで、USBデバッグオプションを有効にします。
3.PCにADBをインストールします。簡単な方法については、ここをチェックしてください。
4.デバイスをPCに接続:デバイスをPCに接続して、携帯電話を確認します。PCによる電話のデバッグを許可するように求めるプロンプトが表示されます。これを受け入れます。
5.解凍されたダウンロードを含むファイルフォルダーからコマンドプロンプトを開きます。これを行うには、Windowsキーを押してcmdと入力します。
プロンプトが開いたら、cdと入力してから、ダウンロードしたADBのフォルダーを入力します。
6.権限の付与:PCでコマンドラインを開き、これらの4つのコマンドを(一度に1つずつ)書き込みます
adb -d shell appops set com.joaomgcd.join SYSTEM_ALERT_WINDOW allow
adb shell pm grant com.joaomgcd.join android.permission.WRITE_SECURE_SETTINGS
adb shell pm grant com.joaomgcd.join android.permission.READ_LOGS
adb shell am force-stop com.joaomgcd.join

7.これによりJoinが閉じられるので、Joinを手動で再度開いて、正常に機能を再開できるようにします。

-----------------------------------------------
Clip Stack - Clipboard Manager(切り取り箱)

同様
adb -d shell appops set com.catchingnow.tinyclipboardmanager SYSTEM_ALERT_WINDOW allow
adb -d shell pm grant com.catchingnow.tinyclipboardmanager android.permission.READ_LOGS
adb shell am force-stop com.catchingnow.tinyclipboardmanager
-----------------------------------------------

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント

2021年09月11日 14:44
何とかアウトカメラが動くようにできないでしょうか。
絶壁ヒナギク
2021年09月12日 09:38
>何とかアウトカメラが動くようにできないでしょうか。

LineageOSを公開されている場所のユーザー投稿コメントを見ても
カメラが普通に動作する人とそうでない人がばらけており

また純正OSもどすROMイメージも、当てるとBluetoothやWi-Fi機能が死ぬ個体が存在することから
内部のハードウェア変更が行われており、ドライバが適正に当たらない事が原因の可能性が高そうです。
仕様を詳細に把握しているメーカーですらそういう事が起こる訳ですから
仕様変更で使われているハードウェアや適したドライバが未だハッキリしておらず
カスタムROMを当てるユーザー側で出来ることは無さそうに思います。
ユーザー投稿でも「使えなかったカメラが使えるようになった」というコメントも見つかりませんでしたし。