Dec 27, 2023

Android上のFirefoxにアドオンをロードさせる手順

Android版Firefox(開発コード名Fenix)用のアドオンを作る上で必要になる、実機での確認の仕方について。 一通りのことはDeveloping extensions for Firefox for Android | Firefox Extension Workshopに書かれていて、それをWindows 11上で実際に自分でやってみたという記録。

注意点。

  • 普段の開発でWSL1(Windowsのディスク領域へのアクセスがWSL2より高速なのでWSL2でなくWSL1を敢えて選んでる)上のUbuntuのコマンド操作を多用しているので、その流れでWSL1上のUbuntuに諸ツールを設定できればよかったんだけど、それは使えない。adbでUSB機器を認識させるフェーズで躓く。WSLでやりたければ、WSL2でないといけない模様。なので今回はWindowsネイティブでやることにした。

まず必要なソフトウェアをインストールする。

  1. Node.js 16以上。自分は現時点でのLTSの最新版であった20.10.0LTSを入れた。
    • システムのプロパティ→詳細設定→環境変数→システム環境変数→PathC:\Program Files\nodejs\を登録しておく。(Node.jsのインストーラが自動で設定してくれるかもしれない。ちゃんと確かめてない。)
  2. web-extのなるべく新しい版。自分はdogfooding用の改造版web-extソースからインストールしている
    • システムのプロパティ→詳細設定→環境変数→ユーザー環境変数→PathC:\Users\piro\AppData\Roaming\npmを登録しておく。(Node.jsのインストーラが自動で設定してくれるかもしれない。ちゃんと確かめてない。)
  3. Android Studioコマンドラインツールのみ。zipファイルを展開して取り出したcmdline-toolsフォルダーを、C:\Program Files\android\sdkに置く。
    • システムのプロパティ→詳細設定→環境変数→システム環境変数→PathC:\Program Files\android\sdk\cmdline-tools\binを登録しておく。
  4. adb(Android SDK Platform-Tools)。zipファイルを展開して取り出したplatform-toolsフォルダーを、C:\Program Files\android\sdkに置く。
    • システムのプロパティ→詳細設定→環境変数→システム環境変数→PathC:\Program Files\android\sdk\platform-toolsを登録しておく。
  5. JDK Development Kit。adbを動かすのに必要。自分は現時点での最新版らしいJDK Development Kit 21.0.1をインストールした。
    • システムのプロパティ→詳細設定→環境変数→システム環境変数→JAVA_HOMEC:\Program Files\Java\jdk-21(パスは実際にインストールしたJDKのバージョンに依存する)を登録しておく。
  6. 自分が使ってるAndroid端末用のADB USBドライバー。自分の場合はSHARP AQUOS sence 7で、SHARP共通のADB USBドライバーでよい模様。
  7. Firefox Nightly(Android版):アプリストアからインストールする。

必要な物が揃ったら、adbでの接続を試みる。

  1. Android端末をUSBケーブルでWindows PCに接続する。
    • Android上でUSBの接続用途を選択する画面が出るので、「ファイル転送/Android Auto」を選択する。Windows上で「MTP」として端末が認識されていればOK。
  2. Android端末のUSBデバッグを有効にする。
    • Androidの設定画面でAndoroidのバージョン情報の「ビルド番号」の所(AQUOS sence 7の場合は 設定→デバイス情報→ビルド番号)を何度かタップして「開発者向けオプション」を有効化し、その中の「USBデバッグ」(AQUOS sence 7の場合は 設定→システム→開発社向けオプション→デバッグ→USBデバッグ)を有効にする。
  3. Android上のFirefox Nightlyを起動し、USBデバッグを有効にする。
    • 設定→詳細設定→USB経由でリモートデバッグする を有効にする。
  4. コマンドプロンプト(cmd.exe)を開く。
  5. adb start-server を実行してadbのデーモンを起動する。
  6. adb devices を実行する。ここまでの手順が成功していれば、接続しているAndroid端末のデバイスIDが以下の要領で列挙される(数字は例示用のダミー)。

    List of devices attached
    856392147208461 device
  7. アドオンのディレクトリー(manifest.jsonがある場所)にcdして、web-ext run -t firefox-android --adb-device (先程調べたデバイスID) --firefox-apk org.mozilla.fenixを実行する。

アドオンの側に問題がなければ、これでアドオンがAndroid Firefoxに読み込まれる。

エントリを編集します。

wikieditish message: Ready to edit this entry.











拡張機能