どんなアプリも画面分割

最近のAndroidなら大抵画面を分割して2つのアプリを同時に使うことができる。ただ、中には画面分割ができないアプリもある。

ただ、不思議なのはPixelでは画面分割できないアプリでも、Pixel Tabletならできたりする。恐らくアプリごとの解像度の設定などを見て、端末ごとに画面分割の可否を判定しているのだと思う。

Pixel 8 ProでデュアルeSIM

昨日まで物理SIMとeSIMのデュアルSIMで使っていた。先月バンコクに行った時、いつものように現地SIMを買い(セブンイレブンで買えるようになっていた。値段は空港で買うのと同じ。英語が通じる空港で買うべきだった)、日本のSIMカードを取り出して入れ替えた。取り出したSIMカードは旅行中失くさないように大切に保存して置かなければならない。「あぁ… eSIMでデュアルにできたら便利なのになぁ…」と常々思っていた。

Google pixelヘルプ

昨日「もしかして…」と思い検索してみると、「Pixel 7/7 ProがアップデートでデュアルeSIM対応に」という記事を複数見かけた(Pixel 8シリーズに関しては見当たらない…)。なら、Pixel 8 ProでもデュアルeSIMは可能だろうと思い、早速物理SIMカードをeSIMに変更し、Pixel 8 Proに登録してみると、eSIM2つで今まで通り2回線が使えるようになった。

どうもiPhoneは13から、Pixelは7/7 ProからデュアルeSIMに対応していたのね。ついでにiPhone 15のSIMもeSIMに変更。これで海外に行った時にSIMカードの差し替え等せずに済むので、気が楽になった。

結局、Pixel 8 ProもPixel Tabletもrootをやめ、bootloaderをロックした

どうしても使いたいLSPosedのモジュールがあったので、Pixel 8 ProもPixel TabletもbootloaderをアンロックしてMagiskを入れていたものの、bootloaderをアンロックすることでのデメリットの方が多くなってきたと感じた。たった一つのモジュールのために、多くのアプリからrootを隠したり、Play Integrityを偽装したり、動かなくなったりするアプリがあったり、対策する手間の方が多すぎる。

Continue reading “結局、Pixel 8 ProもPixel Tabletもrootをやめ、bootloaderをロックした”

Lenovo Tab6にGSI ROMを入れてみる 2

これまでLenovo Tab6にPixel Experience Plus 12.1 v416を入れて使っていたものの、スリープ復帰時にフリーズして動作が非常に不安定になることが多く、ROMを入れ替えることにした。GSIのAndroid 13も安定してきたようなので、Pixel Experience Plus 13.0 v2023.05.03を入れてみたら、なかなか良かったものの、何故かGmailが起動すると落ちて立ち上がらない…

Pixel Experienceの場合、これまでもROMが不安定のままでもアップデートが打ち切られ、新バージョンの開発に移ってしまうということが続いていたので、何かしらのバグを我慢して使わなければいけなかった。Pixel Experience Plusに近い使い勝手のROMがないかと探してみたら、Project ElixirというROMに出会った。ブートアニメーションが若干派手なもの(Magiskでrootを取ってPixelのものに変えた)、「UIの改良やカスタマイズを最小限にし、Pixelの使い勝手に近づけたパフォーマンス、セキュリティ、安定性のバランスを取るROM」とのこと。Musicというアプリ以外は基本Google謹製アプリしか入っておらず、非常にすっきりしている。

今のところ何の問題もなく、スリープ復帰時のフリーズなどもなく、アプリが落ちることもなく、非常に安定してサクサク動いてくれるので、入れ替えて満足。

Lenovo Tab6にGSI ROMを入れてみる

Lenovo Tab6はQualcommのSnapdragon 690 5Gを搭載しているので扱いが非常に楽。また他のLenovo製タブレットはbootloaderをアンロックするためにLenovoのサイトで登録して、解除用のイメージファイルを入手しなければならないものの、Leovo Tab6はそのままアンロックできてしまう(※)。

まずはbootloaderをアンロックする前にここから手元にStock ROMを用意しておく。magiskを入れたい時もStock ROMからboot.imgを取り出せばいい。

予め開発者向けオプションの有効化して、OEM UnlockとUSBデバッグを有効化にしておくのはどの機種でも同じ。この時設定のデバイス情報でシリアル番号と入っているファームウェアのバージョンをメモっておく。

Bootloaderに入るには、電源がオフの状態でVol up+電源ボタンを同時に長押しするか、PCからコマンドラインでadb reboot bootloaderで素直に行ける。

Bootloaderに入ったら、PCからコマンドラインでfastboot flashing unlockを実行すればブートローダーアンロックされ、初期化が実行される(※)。

※システムアップデートで2022年末に配信されたA101LV_S000161_221101_Q6350_JP以降にアップデートしてしまうと、fastboot flashing unlockが使えなくなっている。bootloaderがアンロックされていても、どうも古いbootloaderを上書きできないもよう。

また、何故かLenovo Tab6のリカバリーメニューにはユーザーデータを初期化するメニューがない。予めAndroidシステムから初期化してからGSIのROMを焼くか、初めて起動する前にfastboot erase userdataで/dataを削除しておく必要がある。

最近のダイナミック・パーティション(各パーティションサイズを固定せず、イメージに合わせてパーティションサイズをダイナミックに変える)を採用するデバイスではfastboot画面ではイメージをフラッシュできなくなっていて、fastbootdモードにしなければならない。Lenovo Tab6もそのような機種。Bootloader画面でPCからコマンドラインでfastboot reboot fastbootと実行するか、bootloader画面からRecovery modeに入り、リカバリーメニューからEnter fastbootを選択し、画面最上部に赤字で「fastbootd」と表示されればOK。

今回はGoogle Pixelに操作性が近いPixel Experience Plus 12.1 v416を焼くことにする。普通にPCから

>fastboot flash system PixelExperience_Plus_arm64-ab-vndklite-12.1-20221118-UNOFFICIAL.img

と実行すると、

Resizing 'system_a' FAILED (remote: 'Not enough space to resize partition')
fastboot: error: Command failed

とエラーになり焼けない。今回はA/BのうちAに焼こうとしているので、

>fastboot delete-logical-partition product_a

と実行して、A側の/productパーティションを消します。B側に焼く場合はproduct_bに変更すればいい。その後fastboot flash system PixelExperience~を実行すると、ROM焼きが開始される。

最後に念のため、

>fastboot erase userdata

を実行してユーザーデータを削除して再起動する。

Pixel Experience Plus 12.1はタブレットモードに対応しているものの、ドックやロック画面の表示が崩れてしまい使えない。設定→ディスプレイ→表示サイズを最大にすると、スマホモードになり、表示の崩れはなくなる。つまりタブレットモードでは使えない。恐らくコマンドラインで解像度の設定などを調整すればいいのだろうが、使い勝手は今までのMediaPadと同じなのでこのまま使うことにした。

またGSIでありがちな、バックライトの「明るさの自動調整」が使えなくなる。これでは不便なので、こちらの説明(英語)通りにOverlayで明るさの自動調整を追加して、普通に使えるようにする。

また一部のLenovo/Motolora機種でFacebook Messengerのようなチャットアプリで音声チャットをしようとすると、相手の音が割れて(distorted)声がテープの早回しのようになる。調べたが大元のphhusson氏のコードに由来しているので、直せない… 音声チャットを多用する方は要注意。

Magiskでrootを取る場合、初めにメモっておいたバージョンのファームウェアをここからダウンロードする。zipファイルを解凍して、boot.imgを取り出し、タブレットのSDカードなどに保存しておく。違うバージョンのboot.imgを使うとエラーが出たり、ブートループに陥るので注意する。

タブレットでMagiskのGitHubのページから最新のMagisk Managerをダウンロードをダウンロードし、インストールする。Magisk Managerで先ほどタブレットに保存しておいたboot.imgにパッチを当て、出来上がったmagisk_patched-25200_xxxxx.imgをPCに転送する。

タブレットをfastbootdモードにし、PCからコマンドラインで

>fastboot flash boot magisk_patched-25200_xxxxx.img

と実行すれば、rootが取れる。

【番外編】

Lenovo/Motoloraのスマホやタブレットは、起動しなくなった場合、Rescue and Smart AssistantというWindowsアプリを使って、最新版のファームウェアに復旧させることができる。(Rescue and Smart Assistantのダウンロードや使用にはLenovo IDと製品のシリアル番号が必要。アカウント登録を済ませておく。)ただ、最新版のA101LV_S000161_221101_Q6350_JPにアップデートされてしまうと、fastboot flashingが使えなくなり、二度と再アンロックができなくなってしまう。それではかなり不便。

Rescue and Smart Assistantを起動するとデバイスタイプを選択する画面になる。

タブレットを選択すると、次の画面でタブレットのシリアルナンバーを入力する画面になる。シリアルナンバーはROM焼きする前の設定のデバイス情報か、bootloader画面で確認できる。

シリアル番号を入力し先に進むと、次の画面のように最新のファームウェアをダウンロードする画面になる。

ダウンロードをクリックして、まずは最新のファームウェアをダウンロードする。ダウンロードが完了すると次のような画面になる。

これで準備は完了。C:\ProgramData\RSA\Download\RomFiles\A101LV_S000165_221206_Q6350_JPにダウンロードされたファームウェアの中身が展開されて保存されている。このままファイルを残しておくのは危険なので、A101LV_S000165_221206_Q6350_JPというディレクトリは残し、その中のファイルを全て削除する。そして、ここからA101LV_S000165_221206_Q6350_JPより前のROMをダウンロードし、その中身をA101LV_S000165_221206_Q6350_JPというディレクトリにコピーしておく。(例 A101LV_S000139_220211_Q6350_JP)

この際、上でMagiskでパッチを当てたmagisk_patched-25200_xxxxx.imgというファイルをboot.imgとリネームして入れておけば、いつでもroot化済のstock ROMに戻すことができる。

ここで「救助を開始します」ボタンをクリックし、画面の指示に従いタブレットを電源オフの状態からEDLモード(電源オフのままVol+ボタンを押しながらPCにUSBケーブルで接続)で接続すれば、自動的に先ほど入れた所望のファームウェアが焼かれ、全て初期化される。実際は裏でQualcommのQFILが実行されているんだけど、自分で設定などを変更する必要がないので、かなり楽。

※ただし、この方法でも一度でもA101LV_S000165_221206_Q6350_JP以上にアップデートしてしまったTab6を古いファームウェアにロールバックさせることはできない。救助が終了して一見成功したように見えても起動しない。恐らくA101LV_S000165_221206_Q6350_JP以降のbootloaderは以前のものでは上書きが禁止され、また起動時にROMのバージョンをチェックして古いファームウェアが起動できないのだと思う。

タブレット難民 Lenovo Tab6を買ってみた

正直今でもHuawei MediaPad M5は名機だと思っている。8インチという大きさ、指紋認証も機敏で非常に使いやすい。ただ、カスタムROMを焼いて使い続けていても乗り越えられない壁がある。それは/systemのサイズ。最近のGSI系のカスタムROMはサイズが大きくなり、MediaPad M5には焼けなくなってきてしまっていた。

ずっとMediaPad M5の後継機を探していたものの、iPadを意識してか11インチ以上の製品ばかり。老眼も進んでいることもあり、「10インチくらいまでは許してもいいのではないか…?」と思ってきて捜査範囲を広げた。あるタブレットのレビューを読んでいると「これを買うなら、フリマサイトで2万円台でLenovo Tab6を買った方がいい」という記事を見かけ、Lenovo Tab6を買ってみることにした。

Xiaomi Pad 5などの今どきのタブレットは性能は良いものの、WiFiモデルしかなくGPSが使えない上、11インチは大きすぎる… タブレットではニュースを読んだり、メールやSNSを使う程度なのでLenovo Tab6で十分に思えた。

さて届いたLenovo Tab6を立ち上げてみると、Softbankのブロートウェアがてんこ盛りで、かなり引いた。あれだけ大量のアプリがプリインストールされているスマホやタブレットを見たことがない。それだけでそのまま使う気にはなれなかった。今回もbootloaderをアンロックしてカスタムROMを入れて使うことにする。

一応顔認証もついているもの、10.3インチという筐体の一番上にあるので、一度持ち上げて角度を顔に向ける必要があり、またそのスピードも速くはない。電源ボタンに指紋認証でも付けてくれれば、使い勝手が随分向上したと思う。

一年以上更新がなかった…( ゚д゚)ハッ! Pixel 7への道

この一年を振り返ってみると、Unihertz Jelly 2を買ったり、Pixel 3からPixel 6に乗り換えたり、更にPixel 6からPixel 7に乗り換えたり、何もなかったわけではないものの、特に書き残すことがなかったというのが正直なところ。

毎回スマホを買うとrootを取ったりしていたけど、Pixel 3以降特にrootを取る必要を感じなくなった。それが一番大きい気がする。それまでrootを取って広告を非表示させるためにhostsを書き換えていたが、AdGuardで十分だと思えたから。元々Xposedとかでがしがしカスタマイズなどしなかった。

さて、Pixel 7はすこぶるきびきび動いているものの、やはりPixel 3くらいの大きさが使いやすい気はする。ただ、昨今のカメラ、プロセッサの性能の進化とバッテリー容量のバランスから6インチの程度の大きさになってしまうのは仕方ない流れなのだろう。正直Pixel 3のバッテリー持ちはお世辞にもいいとは言えず、外出時はバッテリーを気にしてできるだけ使わないようにしていたので、何のためにスマートフォンを持っているのか本末転倒だった(よくも3年も使っていた 笑)が、Pixel 7でバッテリーの持ちはかなり改善された。ちなみに、GSMArenaのバッテリースコアで、Pixel 3は69h(Pixel 6は86h)、Pixel 7は96hなので、27h程度改善された。

Pixel 6からPixel 7に乗り換えた理由はいくつかある。指紋認証の改善+顔認証の追加、若干サイズが小さくなった、若干バッテリー持ちの改善、フォトの機能に古い写真にも使える「ボケ補正」が加わった、一年サポートが伸びる、というところ。以前までは古い機種は手元に残して、カスタムROMを焼いたりして遊んでいたが、最近Googleの下取り価格が「バグ!?」というレベルで高いので、Pixel 3もPixel 6もGoogleの元に帰っていた。今思えばPixel 3は手元に残しておいてもよかったかもしれない。Pixel 7は完成度も満足しており、今のところ数年使う予定。

Windows 11のAndroidアプリ実行は期待外れだった…

※最後にどのようにPlay Storeに対応したWindows Subsystem for Androidをインストールするかの要点をまとめる。

実際にWindows上でPlayストアを起動している画面

Windows 11(Windows Insider Programではなく通常版)で「Windows Subsystem for Android(WSA)」が動くようにできるということで、早速入れてみた。結論から言えば、期待外れれだった。(2021/10/31現在)

Continue reading “Windows 11のAndroidアプリ実行は期待外れだった…”

Huawei端末とGSI

これまでMediaPad M5ではOpen Kirin(Treble対応のHuawei Kirin専用のROM)を使っていたものの、画像を検索した時に結果が全部表示されない、ホームページにインライン・ビデオがあってもChrome上で再生されないなどのバグがあり、また開発は止まったままの状態にある。そこで重い腰を上げ、他のGSIを試してみることにしたが、結構ドツボにはまって、数日無駄にした。

今出回っている大体のGSIはphhusson氏のAOSPソースをベースに作られている。Huawei端末で問題なのが、phhusson氏のAOSP 10のイメージはv213まではHuawei端末の指紋センサーが動作するもののいろいろバグを含んでおり、v214~v222ではバグの修正は進むものの指紋の登録ができなくなってしまう。これはphhusson氏のAOSPソースを使った他のフォーク(PixelExperience、LineageOS、などなど)でも同様に起こる問題で、どれを選んでもこの指紋認証問題からは抜け出せない。AOSP 11では指紋認証問題が修正されているもののサイズが2.7GB(MediaPad M5に焼けるGSIの最大サイズ)を超えるものが多く、また初期化するたびに毎回GSFをネットでGoogleに登録しないと「Playプロテクト認定エラー」が出る。指紋認証を諦めるか、GSF登録の手間を取るか、という難しい選択になる。

以下にMediaPad M5にLineage-18.1、Open Gapps 11.0 pico、Magiskをインストールした手順を記しておく。

Continue reading “Huawei端末とGSI”