2020年11月12日

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日現在)
DiXiM Play Androidはrootを解除しなくてもUSBデバッグをOFFにしていれば動作しています(※2022年1月13日追記)

月額100円、買切り1300円(税抜)…なのは良いとして、『インストールできるのはアカウント一つに付き1機種』で『Google Play』のポイントを使って買えなかったのが残念。

機能自体はMedia Link Player for DTVより安定していて、番組転送しながら転送済み番組を見られるのは良い。




閑話休題。


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

以下より必要なソフトをダウンロード



(ver 20200712)も同じコミュニティにあった。

TWRP 3.4.0-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

以下のように書かれていたので。


>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で動かなくなったアプリを動作させるために必要だった資料参考



Join


Android10でJoinにあなたのクリップボードを読み取る権限付与するニーズに参加するには

AndroidデバイスがADBによって認識されていない場合は、そのドライバーをインストールする必要があるかもしれません。


ここから始めるのが良いでしょう。



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を手動で再度開いて、正常に機能を再開できるようにします。


-----------------------------------------------



同様

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

-----------------------------------------------
posted by 絶壁ヒナギク at 15:36| Comment(7) | TrackBack(0) | 未分類 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
何とかアウトカメラが動くようにできないでしょうか。
Posted by at 2021年09月11日 14:44
>何とかアウトカメラが動くようにできないでしょうか。

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

また純正OSもどすROMイメージも、当てるとBluetoothやWi-Fi機能が死ぬ個体が存在することから
内部のハードウェア変更が行われており、ドライバが適正に当たらない事が原因の可能性が高そうです。
仕様を詳細に把握しているメーカーですらそういう事が起こる訳ですから
仕様変更で使われているハードウェアや適したドライバが未だハッキリしておらず
カスタムROMを当てるユーザー側で出来ることは無さそうに思います。
ユーザー投稿でも「使えなかったカメラが使えるようになった」というコメントも見つかりませんでしたし。
Posted by 絶壁ヒナギク at 2021年09月12日 09:38
再起動時に音量+&電源ボタン長押しして
立ち上がるメニューから
『Wipe data/factory Reset』という項目がないのです。
お手上げです。wipe cache partitionなどはあります。
不思議です。
Posted by nao at 2022年01月09日 21:43
>『Wipe data/factory Reset』という項目がないのです。
項目が何故無いかの理由は私にも分かりません。

ただTWRPで何かをインストールした後に
初回起動時ループになったりならなかったりは、
TWRPのバージョンによっても発生したりしなかったりがあるので
駄目なら他のバージョンで試してみるのもアリです。

TWRP3.2.3-0
https://forum.xda-developers.com/t/twrp-and-root-for-tab-4-8-10-plus-tb-8704x-f-v-tb-x704l-f-tb-8504x-f-tb-x304l-f.3664407/

TWRP-3.3.1-0とTWRP-3.4.0-0
https://github.com/lancebukkake/twrp_device_lenovo_tb_8704x/releases

あと試してないので確信は持てないのですが
TWRPのWipeのAdvanced WipeからDataを削除するのも
音量+&電源ボタン長押しして立ち上がるメニューの『Wipe data/factory Reset』と同等の機能だと思われるので
そちらを試してみるのはいかがでしょうか?

あとは上の物を含めて一通りの作業をした後に『fastboot format cache』でキャッシュを削除すると
何故か先へ進むことがあったりします。

私も何故それで進むのか?
何で必要なのかを理解しているわけでは無いので(^^;
それをご了承の上お試し下さい。
Posted by 絶壁ヒナギク at 2022年01月11日 09:48
ありがとうございます。

うちのLenovo TAB4(702lv)は、
再起動を繰り返す不具合が発生していますが、
TWRPを使って打開したいと思います
Posted by nao at 2022年01月11日 22:23
>うちのLenovo TAB4(702lv)は

もしかして『Lenovo TAB4(702lv)』に上記リンクの『LineageOS』や『TWRP』を導入しようとしていますか?
このページで紹介している各種ファイルやリンクは『Lenovo TAB4 8 Plus』の『tb8704f/tb8704x/tb8704v』という型番専用の物で、それ以外の機種に導入しようとすると文鎮化してしまう(≒二度と使い物にならなくなる)可能性があります。

Lenovo純正の復元ツール(純正OSに戻すツール)を使えば工場出荷状態に戻せる可能性もありますが、本文で解説しているとおりLenovo TAB4 8 Plusでも個体によっては一部機能が使えなくなったりする様なので、それらを使うとしてもあまり期待はしない方がよいかと思います。
Posted by 絶壁ヒナギク at 2022年01月12日 07:51
ありがとうございます。『TWRP』導入は諦めます
Posted by nao at 2022年01月12日 18:49
コメントを書く
コチラをクリックしてください

この記事へのトラックバック