Android Firefox 旧拡張機能をデバッグする
Android Firefox 拡張機能デバッグの忘却録です。
この記事は既に最新ではありません。
最新の Android Firefox 拡張機能をこの記事の内容ではデバッグできません。
最新のデバッグ記事は次のリンク先を参照してください。
モバイルで拡張機能をインストールする
- 開発用Firefoxをインストールする
- Firefox Beta
- Firefox Nightly
- 未署名の拡張機能をインストール可能にする
- URLバーに
about:config
を入力する xpinstall.signatures.required
の値をfalse
にする
- URLバーに
- 作成したxpiをFirefoxにインストールする
- Android端末にxpiファイルを保存する
- USB等でファイル転送する
- xpiファイルと同一ディレクトリにインストール用のHTMLファイルを配置する
- HTMLファイル例は、「install.html」参照
- FirefoxからローカルのHTMLファイルにアクセスする
- PCで下記にファイルを配置した場合
/Download/filename
- Firefoxのアドレス欄に下記でアクセスする
file://mnt/sdcard/Download/filename
- PCで下記にファイルを配置した場合
- HTMLファイルのリンクをタップしてインストールする
- Android端末にxpiファイルを保存する
- 試験する
- 下記の「リモートデバッグする」を参照
install.html
install.html<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<a href="src.xpi">XPI</a>
</body>
</html>
リモートデバッグする
- PC側に開発用のFirefoxを立ち上げる
- Android側に開発用のFirefoxを立ち上げる
- Android側でUSBデバッグを許可する
- [メニュー] > [設定] > [高度な設定] > [USB経由でリモートデバッグする]
- チェックする
- [メニュー] > [設定] > [高度な設定] > [USB経由でリモートデバッグする]
- PCとAndroidをUSBで接続する
- PC側にFirefoxでWebIDEを立ち上げる
- [三] > [Web Developer] > [WebIDE]
- Android側で承認する
- Android側で承認ポップアップがでるため、承認する
- PC側のWebIDEのUSB DEVICESを更新する
- 右上の更新アイコン
- Androidで実行中のFirefoxが表示されるので選択する
- 左側に表示中のタブ情報出てくれば成功
※左側のMain Process
のConsoleを見ると拡張機能の(エラー)ログがでる
覚書
- モバイル処理の切り分け
- ユーザエージェントで判定する
- Androidで動作しない機能にアクセスしているとエラーになる
chrome.contextMenus
、chrome.commands
でエラーになる
- ポップアップページの文字が小さい
- viewportを設定することで見やすくなる
<head>
内に下記を記載する<meta name="viewport" content="width=device-width, initial-scale=1">
- ポップアップページをクローズできない
window.close()
がエラーとなる- 「スクリプトはスクリプトによって開かれたウィンドウ以外を閉じることができません。」エラーを出力する
- ポップアップのクローズは諦める
- ポップアップなしを再設定できない
- ポップアップなしを指定してもポップアップありで動作する
chrome.browserAction.setPopup({popup: ''});
が動作しない
setPopup
を1度もコールしなければ、onClicked
が呼び出されるbrowser_action.default_popup
は未指定とする
- ポップアップなしは、再起動後に有効となるものとして扱えばなんとかなる
- ポップアップなしを指定してもポップアップありで動作する
- クリップボードコピーが動作しない
execCommand('copy')
でコピーできない- エラーなく処理は、通過する
- Clipboard APIで代用可能