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ネイティブでやることにした。
まず必要なソフトウェアをインストールする。
- Node.js 16以上。自分は現時点でのLTSの最新版であった20.10.0LTSを入れた。
- システムのプロパティ→詳細設定→環境変数→システム環境変数→
Path
にC:\Program Files\nodejs\
を登録しておく。(Node.jsのインストーラが自動で設定してくれるかもしれない。ちゃんと確かめてない。)
- システムのプロパティ→詳細設定→環境変数→システム環境変数→
- web-extのなるべく新しい版。自分はdogfooding用の改造版web-extをソースからインストールしている。
- システムのプロパティ→詳細設定→環境変数→ユーザー環境変数→
Path
にC:\Users\piro\AppData\Roaming\npm
を登録しておく。(Node.jsのインストーラが自動で設定してくれるかもしれない。ちゃんと確かめてない。)
- システムのプロパティ→詳細設定→環境変数→ユーザー環境変数→
- Android Studioコマンドラインツールのみ。zipファイルを展開して取り出した
cmdline-tools
フォルダーを、C:\Program Files\android\sdk
に置く。- システムのプロパティ→詳細設定→環境変数→システム環境変数→
Path
にC:\Program Files\android\sdk\cmdline-tools\bin
を登録しておく。
- システムのプロパティ→詳細設定→環境変数→システム環境変数→
- adb(Android SDK Platform-Tools)。zipファイルを展開して取り出した
platform-tools
フォルダーを、C:\Program Files\android\sdk
に置く。- システムのプロパティ→詳細設定→環境変数→システム環境変数→
Path
にC:\Program Files\android\sdk\platform-tools
を登録しておく。
- システムのプロパティ→詳細設定→環境変数→システム環境変数→
- JDK Development Kit。adbを動かすのに必要。自分は現時点での最新版らしいJDK Development Kit 21.0.1をインストールした。
- システムのプロパティ→詳細設定→環境変数→システム環境変数→
JAVA_HOME
にC:\Program Files\Java\jdk-21
(パスは実際にインストールしたJDKのバージョンに依存する)を登録しておく。
- システムのプロパティ→詳細設定→環境変数→システム環境変数→
- 自分が使ってるAndroid端末用のADB USBドライバー。自分の場合はSHARP AQUOS sence 7で、SHARP共通のADB USBドライバーでよい模様。
- OEM USBドライバのインストール手順に記載の手順で、システムのプロパティ→ハードウェア→デバイスマネージャー でドライバーをインストールする。
- Firefox Nightly(Android版):アプリストアからインストールする。
必要な物が揃ったら、adbでの接続を試みる。
- Android端末をUSBケーブルでWindows PCに接続する。
- Android上でUSBの接続用途を選択する画面が出るので、「ファイル転送/Android Auto」を選択する。Windows上で「MTP」として端末が認識されていればOK。
- Android端末のUSBデバッグを有効にする。
- Androidの設定画面でAndoroidのバージョン情報の「ビルド番号」の所(AQUOS sence 7の場合は 設定→デバイス情報→ビルド番号)を何度かタップして「開発者向けオプション」を有効化し、その中の「USBデバッグ」(AQUOS sence 7の場合は 設定→システム→開発社向けオプション→デバッグ→USBデバッグ)を有効にする。
- Android上のFirefox Nightlyを起動し、USBデバッグを有効にする。
- 設定→詳細設定→USB経由でリモートデバッグする を有効にする。
- コマンドプロンプト(cmd.exe)を開く。
adb start-server
を実行してadbのデーモンを起動する。adb devices
を実行する。ここまでの手順が成功していれば、接続しているAndroid端末のデバイスIDが以下の要領で列挙される(数字は例示用のダミー)。List of devices attached 856392147208461 device
- アドオンのディレクトリー(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.