Google の Pixel カメラアプリの最新バージョン (v10.x) において、Google Play 開発者サービスを搭載しない環境でクラッシュが発生していた問題について、原因が明らかになりました。
Android Authority および AssembleDebug の報告によると、アプリが「Google Sans Flex」というフォントを呼び出すようになったことが直接の要因です。
フォント呼び出しが Play 開発者サービスに依存
今回の問題は、Google Play 開発者サービスが存在しない環境、特に GrapheneOS のような “de-Googled” システムで Pixel カメラが起動できないというものです。
解析を行った Assemble Debug 氏によると、Pixel カメラ v10.x は次のようなフォント設定を内部で参照しており、このフォントが Play 開発者サービスを通じてのみ提供されていることが確認されました。
<font-family
app:fontProviderAuthority="com.google.android.gms.fonts"
app:fontProviderPackage="com.google.android.gms"
app:fontProviderQuery="Google Sans Flex" />
前バージョンの v9.9 にはこの設定が存在せず、Play 開発者サービスなしでも問題なく動作していました。
つまり、Pixel カメラ v10.x はフォントの読み込み先を Google Play 開発者サービスに依存するよう変更され、結果としてサービスが存在しない環境ではフォントを取得できず、アプリがクラッシュするという構造です。
回避策は旧バージョンへのロールバックかサンドボックス導入
この問題を回避するには、Pixel カメラを v9.9.106.773153235.19(Build ID 68469120)にロールバックするのが最も確実な方法です。ただし、アップデートを自動で再インストールしないようブロック設定が必要となります。
また、GrapheneOS のようにサンドボックス化された Google Play 開発者サービスを導入している場合は、最新の v10.x でもクラッシュせず動作することが確認されています。
Google 製アプリの依存度増加も懸念
フォント指定という一見些細な変更によって、Google の純正アプリが自社サービスへの依存をさらに強めたことが浮き彫りになりました。
Google 製アプリは今後も Play 開発者サービスとの連携を前提とした設計を進める可能性があり、Google サービスを排除した OS との互換性は今後さらに難しくなると考えられます。
なお、この問題については以下の記事でも紹介しています。