Re:シルの日々の戯言。

散財が生き甲斐になりかけている、デジタルガジェット大好き自称黄色いネズミの戯言。

PixelExperienceが(とある理由で)かなり素敵だった

先日Android Beta Programが入っていることでジャンク扱いとされていたPixel 4a(4G/LTE)*1を調達しました。

調達したPixel 4aは既にFactory Imageを書き込んでAndroid 12L*2の状態に戻したり、Android 13 Developer Preview 2を突っ込んでみたり楽しく遊ばせてもらっています。
developer.android.com

通常ならばカスタムROMのLineage OSを導入して「Lineage OS入れたったー!!!11」と過去何度も書いてきたような戯言日記を更新するところですが、今回はまだLineage OSは入れていません。
理由としては、最近は4月前後にLineage OSメジャーバージョンアップのお知らせが出ているので、新しいバージョンが出たら入れようと考えています。*3
lineageos.org

この草稿を綴っているタイミング(2022年4月上旬)ではまだ動きがないようなので、大本命のLineage OSが登場するまでの間は他のカスタムROMで楽しんでみようと思います。

意外と選択肢が無い

カスタムROMと言うと沢山存在するような印象ですが、日本語圏だけで調べようとすると意外と少なく、更にPixel 4a向けに公式ビルドが存在すると言う条件を付けると、数が限られてしまいます。

大本命は上記の通りLineage OS、Android OS黎明期から存在しているCyanogenModの直系であり直系のカスタムROMなので、具現化が難しいですが信頼性は非常に高いです。
何より今までもカスタムROM=Lineage OSと言う固定概念じみた感覚で利用してきたので個人的にはお馴染みの一言に尽きるROMです。
lineageos.org

その他になにがあるのか、Wikipedia(日本語版)のカスタムROMから物色してみますが正直芳しく無く・・・。
ja.wikipedia.org

個人的に興味を引いたのは/e/ですが、上記で触れたLineage OSベースであることに加えて、プライバシー重視のカスタムROMです。プライバシー重視と言うのは好ましい限りですが、ここでの「プライバシー重視」はアンチGoogleと言う意味合いが強く、アプリ導入に必須のGoogle Playが使えず(言い方は酷いですが)胡散臭い独自ストア*4から導入になるようです。
そんな/e/はPixel 4a向けに公式ビルドが存在していますが、Lineage OSベースであること・利便性を考慮するとあまり現実的なROMでは無さそうです。もちろん、GAFAに情報を渡したくないと言う意識の高い人にはお勧めできるカスタムROMですが、少々堅苦しすぎるので個人的には(お遊び用のカスタムROMとしては)不採用です・・・。
e.foundation

その他はPixel向けの公式ビルドが無かったり*5、Pixel 4aだけがピンポイントで対応していなかったり*6、イマイチ微妙な感じ。日本でカスタムROMは非常にマイナーですし、通信キャリアがガラパゴスカスタマイズを加えてしまい気軽にカスタムROMを導入出来ない環境にしているのでWikipedia(日本語版)では限界があるようです。*7

それならばとXDA Developers(海外の技術者向けコミュニティ)を覗き見るとPixel 4a向けスレッドが存在し、カスタムROM周りがカテゴリとして集約されていました。
forum.xda-developers.com

最近はあまり気にしなくても大丈夫とは思いつつ日本語対応周りに不安が残るものの、今まで恥ずかしながら知りえなかったカスタムROMの名称に目を輝かせつつ見ていると、PixelExperienceが気になるところです。
厳密には過去にカスタムROMを物色していた頃にうっすら名前だけはどこかで見たような・・・と言う程度ですが、PixelExperienceはGoogle Pixelに搭載されているROMに限りなく近づけたカスタムROMです。
調べると日本語圏の先駆者様が何名もいるのでブログ記事などを確認すると、他のカスタムROMに比べると圧倒的にカスタマイズ性が低いとのお話なので、ゴリゴリにカスタマイズを加えたいと言う人には不向きのようです。
https://download.pixelexperience.org/

その他にもいくつかROMは紹介されていますが、あれこれ手を出しても私は1名・Pixel 4aも1台しかないので、今回はPixelExperienceを狙い撃ちにして遊んで見ることとします。

・・・いや、言葉は悪いですがPixel模倣カスタムROMを本物のPixelであるPixel 4aに入れる意味があるのかと問われるとかなり微妙ですが・・・。*8

PixelExperience対応機種・導入方法

PixelExperienceの(現在の)対応機種一覧は以下の通りです。デフォルトだとASUSしか表示されていませんが、画面左側からメーカーを選ぶと各メーカーで対応する機種が出てきます。*9
https://download.pixelexperience.org/devices

注意点として、PixelExperienceとしては基本的にAndroid 11ベースは既にサポート終了(DISCONTINUED)扱いなので、必ずAndroid 12ベースのROMを選ぶようにしましょう。

合わせて、対応機種としてあげられているがAndroid 12ベースのROMしかダウンロードできない・既にダウンロードできるROMが無いと言う機種もあったりするので、なにをするにもまずは機種個別ページを参照するようにしましょう。

今回私が生贄に捧げているPixel 4aは対応機種にリストアップされ、Android 12ベースのROMがダウンロード可能なので恐れるものは何もありません。・・・えぇ、PixelシリーズならばFactory Imageが公開されているのでROM書き換えても元に戻せますし・・・。
https://download.pixelexperience.org/sunfish

導入方法はカスタムROMを入れている方ならば慣れた手順です。一応、機種別にインストール方法も公開されているので、手順を確認しておきましょう。
wiki.pixelexperience.org

前提条件としてSDK Platform-ToolsとGoogle USBドライバ(Pixelシリーズ)やOEM USBドライバ(Pixel以外のAndroidスマホ)が必要になります。macOS/Linux環境の場合はSDK Platform-ToolsだけでもOKらしいですが、一番ユーザーが多いと思われるWindows環境の場合はドライバは必須です。
個別に入れることは可能ですが、面倒な場合はAndroidアプリ開発環境のAndroid Studioをインストールして、Android SDK ManagerからSDK Platform-ToolsとGoogle USBドライバを入れてしまいましょう。*10
developer.android.com

Pixelシリーズ以外の機種の場合、OEM USBドライバが必須なので各メーカーサイトからダウンロードします。主要なスマホメーカーならGoogleのユーザーガイドにダウンロード先が記載されているので、とりあえずドキュメントを参照してみましょう。
developer.android.com

あとはbootloaderアンロックして最初にRecovery Imageを焼いて、リカバリーモードで立ち上げて、PixelExperience本体を焼くだけです。
注意点としてはリカバリーモードに入ったら真っ先にFactory Reset(ユーザーデータの削除)を行うことです。Factory Resetを行わずにROMデータを焼いて再起動させると起動時にデータが残ってる旨のメッセージが出てくる上、A/Bシステムの都合でROM書き換え前のデータがゾンビの如く復活してシッチャカメッチャカになります(1敗)*11

あとはセットアップするだけです。・・・と言うか、PixelにPixelExperienceを焼いたのでデフォルトでダークテーマが適用されているくらいしか違いを感じられなかったのでアレですが、あとは通常通りにセットアップを進めていくだけです。

カスタムROMなのにradikoが動いた

AndroidのカスタムROMを焼くと、多くの場合は不正改造の扱いとなりセキュリティ周りで厳しいアプリが動かなくなると言う制約が発生します。

オタク観点で有名な事例はスマホゲームのFate/Grand Order(FGO)でしょうか。私は別にカルデアの住人(プレイヤー)ではありませんので、詳細は不明ですが起動時のチェックで弾かれるとのことです。
個人的に頭を抱えているのはradikoです。過去Lineage OSを入れてあの手この手で試してみましたが、どうしても起動させることが出来ませんでした。

今回もPixelExperienceを入れたので、(動作検証として)ダメ元でradikoを突っ込んでみました。

\キェェェェェェアァァァァァァウゴイタァァァァァァァ!!!/

世間様では「何もしてないのに壊れた!」と見苦しく絶叫する人が多いのですが、「何もしていないのに動いた!」と言う類まれな事象が発生しました。カスタムROMを入れるとradikoは何かしないと動かない・何かしても動かないのが個人的な定説だったのが、崩壊した瞬間です。

こうなるともう少し裏付けが欲しいところです。PixelExperienceをPixelに入れたからなのか、他のPixel全く関係ない機種に導入しても同じ挙動となるのか。わたし、気になります*12

流石に検証のためにもう1台スマホを・・・と言うのは無理がありますが、かつての愛機だったNexus6の製造メーカーであるMotorola*13のMotoシリーズもPixelExperience対応らしいので、安価な機種があれば確保して突っ込んでみたいところです。

・・・あ、ちなみにFGOも「何もしてないのに動いた」でした。・・・FGO、初回起動時はスキップ可否まで見てないけど、OPムービーがずいぶんと長くて少々苦痛でしたわ・・・。

PixelExperienceいいよー

個人的にradikoが何もせずとも普通に動作してくれると言う1点だけで惚れました。
radikoは出先で利用する筆頭のアプリなので、これが普通に動いてくれると言うだけで一気に落ちました。よくある即落ち2コマ漫画レベルです。*14

ちなみに、PixelExperienceは月に1回くらいは必ず更新が入るようなので、パッチが適用されず脆弱極まりない状態が続くと言うことは無さそうです。
https://blog.pixelexperience.org/

あとは1台の機種でどのくらい面倒を見てくれるのかが気になるところです。これはメンテナさん次第の部分が大きいため、(PixelExperienceに限らないとは思いますが)メンテナさんに貢献できるよう何らかの活動を行う・・・しか無いのかも知れません・・・。
利用させて頂いて何か挙動で怪しい部分があれば不具合報告をしてデバッグ・テストに協力するとか、技術力があふれているなら開発支援するとか・・・。
Lineage OSのNexus 6のように(褒め言葉的な意味合いで)頭おかしいレベルの長期メンテナンス*15は求めませんが、延命用途で利用出来たら個人的には嬉しい限りです。

個人的にはもう少し検証(Pixel以外でも同じくradikoが動くレベルくらいに不正改造検知されないカスタムROMなのか)をしたいところですが、雑に買ったPixel 4aに焼いてradikoが動いてくれる時点でLineage OSが一気に吹き飛ばされるくらいのインパクトを与えてくれたので、当面はPixelExperienceを利用して見ようと思います。
・・・あ、一応Pixel 4aはまだ公式ROMもバージョンアップ対象なので普段はPixelExperience、たまに純正ROMで楽しんでいきたいと思います。・・・もちろん、Lineage OSも次期バージョンが正式発表されたら焼いていきます・・・ぞい。

*1:Pixel 4aは、4G/LTE版と5G版の2種類あるので、明示的に「4G/LTE」と付けています。この戯言日記でPixel 4aと書いた場合は4G/LTE版です。

*2:Twitter辺りで「よーし、パパ先にAndroid 12Lベータ版とか入れちゃうぞー」とか言ってましたが、Android 12Lは既にPixel向けにAndroid 12.1としてリリース済みでした。

*3:ここ最近2年くらいは4月1日にブログでアナウンスがあります。

*4:軽くGoogle先生にお伺いして先駆者様の情報を覗き見ると、再配布してんんじゃね?とか怪しい雰囲気があります・・・。

*5:例えばOmniROMさん、機種名ではなくてコード名で書かれてるので対応可否がよく分かりません・・・。ちなみにPixel 4aはsunfish(=マンボウ)なので、最初にPixel 4aで探して、続いてsunfishで探して・・・と面倒臭い・・・。

*6:ProtonAOSPさん、なんでPixel 4/4 XL/4a 5Gは対応なのに、4a(4G/LTE)『だけ』非対応なんですか・・・。

*7:カスタムROMの記事なのにFire OS(Kindle Fireタブレット向けOS)やMIUI(Xiaomi端末のAndroid OS)・ColorOS(OPPO端末のAndroid)が挙げられているので、確かに大多数のAndroidはAOSPから派生(カスタマイズ)したものだけど・・・と言ったところ。

*8:それ、Pixel 4aのデフォルトROMそのまま使ってたほうが良いのでは?

*9:なんでASUSが最初?と思われそうですが、単純にメーカー名のABC順なだけです。

*10:SDK Platform-ToolsはPATHを通す必要がありますが、戯言日記としては煩雑になるので割愛ですが、Android SDK Managerから入れると「C:\Users\[ユーザーID]\AppData\Local\Android\Sdk\platform-tools」配下に格納されます。

*11:ワケワカランことになったので、最終的にもう1回焼きました・・・。

*12:ネタに走ってAA記法使って(氷菓の)千反田えるの「わたし、気になります!」AAを貼ろうと思ったが、意外とAA記法使っても崩れたので断念したことを白状しておきます。

*13:今はLenovo傘下ですが、Motorolaは無線機時代は結構無双していたらしい老舗メーカーです。

*14:ただ、スマホ周りはiPhoneで固めてしまった+訳あってPixel 5aまで手に入れてるので、カスタムROM入れたスマホを持ち歩くことはまず無いのが最大の難点ですね・・・。

*15:Nexus 6はAndroid 5.0世代なのに、Android 11世代のLineage OS 18.1が動いてくれてるんですぜ・・・。流石にパフォーマンスはツライ部分がありましたが、7年以上前の機種が頑張れば現役で使えるんですよ・・・。