Yoshiiwa
siwa_ys30
【テーマ】
Webページのパスキーに対応できるかどうかを明らかにするため、WebViewのビルドに挑戦した新卒エンジニアの試行錯誤
【想定する参加者層】
・WebViewを使ったAndroidアプリ開発に携わっている方
・ブラウザ、パスキーに関心がある方
・WebView(Chromium)やカスタムROMのビルドに興味がある方
・「やってみた」系の話が好きな方
【トーク概要】
WebViewは最小限のブラウジング機能を有しますが、Chromeと異なりWebページのパスキーに対応していません。
AOSP(Android Open Source Project)のWebViewに関するコードを調べたところ、パスキーを利用可能にする「CHROME_3PP_ENABLED」定数が設定不可にされている一方、別箇所ではその定数の設定を想定しているようなコードも存在しました。
この矛盾する発見について、上司から次のように提案を受けました。 「もしこの定数を設定できるようコードを修正し、パスキーを動作させられれば、それをPoCとしてGoogleに機能拡張を提案できるかもしれない。AOSPをビルドして検証してみてはどうか?」
本セッションでは、この仮説に基づいて行った検証実験を以下の内容で共有します。
・前提1: 基本的なWebViewのパスキー実装
・前提2: パスキー実装の制約、その技術的背景
・WebViewのビルド: Azure VMを使ったビルドマシンの用意、ビルド成功までの試行錯誤
・さらなる課題: WebViewの実行環境としてのLineage OS(カスタムROM)のビルド、エミュレータの起動
・ようやくたどり着いた検証実験、その結果
本セッションはサクセスストーリーではありません。新卒入社2年目のエンジニアが情報リソースの限られた中で、いかにしてWebViewのパスキー実装に関する調査や、WebViewおよびLineage OSのビルドを行い、検証実験に至ったのか、その過程を共有します。