USB 経由で Firefox OS に接続する
Firefox OS デバイスを WebIDE に接続しようとしても表示されない場合は、以下の項目を確認してください:
- Firefox OS のバージョンを確認する: デバイスで Firefox OS 1.2/Boot2Gecko 1.2 以降を実行していることを確認してください。バージョンはデバイスで環境設定アプリを起動して、
端末情報 > ソフトウェア
を選択すると確認できます。バージョンが満たない場合は開発端末ガイドでお持ちのデバイスを探して、アップグレード手順に従ってください。 - リモートデバッグの有効化: デバイスの環境設定アプリを起動して、
開発者 > USB 経由のデバッグ
に進んでください。- 古いバージョンでは
Device information > More information > Developer
に進んでください。 - Firefox OS 1.3 以前: "リモートデバッグ" というチェックボックスがあります。チェックを入れてください。
- Firefox OS 1.4 以降: "リモートデバッグ" を ADB のみ有効化するか、ADB と開発ツールを有効化するかを選択できます。"ADB と開発ツール" を選択してください。
- 古いバージョンでは
- デバイスの画面ロックの無効化: デバイスの環境設定アプリで
画面ロック
に進み、ロック画面
のチェックボックスを外してください。画面がロックされると電話機との接続が失われるため、デバッグが行えない状態になります。 - Android 電話機と Firefox OS 電話機を同時にコンピュータへ接続しないようにしてください。
- 使用している USB ケーブルの確認:
- USB ケーブルをいったん外し、再び接続してください。
- USB ケーブルを、コンピュータの別の USB ポートに接続してください。つなぎ替えが必要であるかもしれません。
- 別の USB ケーブルで試してください。電話機に同梱されるケーブルは低品質で、接続が失敗することがあります。
- 短い USB ケーブルを使用してください。長い USB ケーブルではうまく動作しないことがあります。
- デバイスの環境設定アプリで、リモートデバッグをいったん無効化した後に再度有効化してください。
- ADB Helper アドオンを無効化している場合は、
adb forward
コマンドの実行が成功しましたか? - Linux を使用している場合の確認事項:
- 開発用に端末をセットアップする のステップ 3 に記載されているとおりに、
udev
のルールファイルにルールを追加してください。Geeksphone のidVendor
属性は "05c6" です。他のidVendor
の値はこちらのページに記載しています。そして、デバイスを表示させるためにadb devices
を実行してください。デバイスが "no permission" と表示される場合は、adb サーバの再起動が必要です (例:adb kill-server;adb start-server
)。 - Debian が提供する
android-tools-adb
パッケージを使用する場合は、ADB Helper を使用するために既存の ADB サーバをすべて終了しなければならないでしょう。このパッケージは ADB Helper が依存している、サーバへの TCP 接続を無効化します。
- 開発用に端末をセットアップする のステップ 3 に記載されているとおりに、
- Windows を使用している場合の確認事項:
- 開発用に端末をセットアップする のステップ 3 に記載されているとおり、ドライバのインストールが必要です。Geeksphone のデバイスのドライバは Geeksphone の Web サイトで、また Google のデバイスのドライバは Google の Web サイトで入手できます。Windows 8 はデフォルトで、未署名のドライバをインストールできません。"How to install an unsigned driver on Windows 8" のチュートリアルをご覧ください。
- すべての手順を行っても WebIDE がデバイスを認識しない場合は、adb_usb.ini の編集が必要である可能性があります。
- Mac OS X を使用している場合の確認事項:
- シミュレータと実機のどちらでも接続時にタイムアウトエラーが発生する場合は、/etc/hosts が空であるために localhost にアクセスできない状態であるかもしれません。こちらで説明されているように、ファイルを配置して DNS キャッシュを消去することにより解決します。
- EasyTether を使用している場合は、EasyTether のアンインストールまたは無効化が必要です:
sudo kextunload /System/Library/Extensions/EasyTetherUSBEthernet.kext
Wi-Fi 経由で Firefox OS に接続する
- Firefox のバージョンを確認する: Wi-Fi デバッグを使用するには、Firefox 39 以降および 2015 年 3 月 27 日以降の Firefox OS 3.0 を実行している Firefox OS デバイスが必要です。
- デスクトップ版 Firefox を実行するコンピュータと Firefox OS デバイスの両方を、同じ Wi-Fi ネットワークに接続しなければなりません。
- 詳しくいうとデスクトップ側で、Wi-Fi ネットワークへのルートがある有線ネットワークを使用することはできません。代わりに、両方を Wi-Fi に直接接続してください。
USB 経由で Android 版 Firefox に接続する
Android OS で実行している Firefox のインスタンスに接続できない場合は、以下の項目を確認してください:
- Firefox のバージョンを確認する: デバイスで Android 版 Firefox 36 以降を実行していることを確認してください。WebIDE はこれより古いバージョンを自動的に検出できず、ポートフォワーディングを有効化してデバイスのポートに接続しなければなりません。こちらの手順に従ってください。
- Firefox でリモートデバッグを有効化しているか確認する: Android 版 Firefox を起動してメニューを開き、
設定
を選択します。そして、高度な設定 > USB 経由でリモートデバッグする
にチェックを入れてください。 - デバイスの開発者向けオプションで、USB デバッグを有効にしてください。
- まだ WebIDE のウィンドウにデバイスが表示されない場合は、電話機で
リモートデバッグ
の有効化を再度行ってください。- デバイスをコンピュータから切り離して、デバイス側で
リモートデバッグ
を無効にします。 - デバイスをコンピュータに接続して、
リモートデバッグ
を有効化します。ここで、デバイス側のデバッガのインスタンスが再起動します。 - WebIDE から再び接続してみてください。
- デバイスをコンピュータから切り離して、デバイス側で
- 使用している USB ケーブルの確認:
- USB ケーブルをいったん外し、再び接続してください。
- USB ケーブルを、コンピュータの別の USB ポートに接続してください。つなぎ替えが必要であるかもしれません。
- 別の USB ケーブルで試してください。電話機に同梱されるケーブルは低品質で、接続が失敗することがあります。
- 短い USB ケーブルを使用してください。長い USB ケーブルではうまく動作しないことがあります。
- Linux を使用している場合の確認事項:
- 開発用に端末をセットアップする のステップ 3 に記載されているとおりに、
udev
のルールファイルにルールを追加してください。Android のidVendor
値のリストが役に立つでしょう。そして、デバイスを表示させるためにadb devices
を実行してください。デバイスが "no permission" と表示される場合は、adb サーバの再起動が必要です (例:adb kill-server;adb start-server
)。 - Debian が提供する
android-tools-adb
パッケージを使用する場合は、ADB Helper を使用するために既存の ADB サーバをすべて終了しなければならないでしょう。このパッケージは ADB Helper が依存している、サーバへの TCP 接続を無効化します。
- 開発用に端末をセットアップする のステップ 3 に記載されているとおりに、
- Windows を使用している場合の確認事項:
- Android デバイスが正常に認識されていて、Android SDK に含まれている Google USB Driver を使用していることを確認してください。
- Mac OS X を使用している場合の確認事項:
- EasyTether を使用している場合は、EasyTether のアンインストールまたは無効化が必要です:
sudo kextunload /System/Library/Extensions/EasyTetherUSBEthernet.kext
- EasyTether を使用している場合は、EasyTether のアンインストールまたは無効化が必要です:
Wi-Fi 経由で Android 版 Firefox に接続する
- Firefox のバージョンを確認する: Wi-Fi デバッグを使用するには Firefox 42 以降と、 Android 版 Firefox 42 以降を実行している Android デバイスが必要です。
- デスクトップ版 Firefox を実行するコンピュータと Android デバイスの両方を、同じ Wi-Fi ネットワークに接続しなければなりません。
- 詳しくいうとデスクトップ側で、Wi-Fi ネットワークへのルートがある有線ネットワークを使用することはできません。代わりに、両方を Wi-Fi に直接接続してください。
他のブラウザ (Chrome、Safari、iOS) に接続する
WebIDE は Chrome、Safari、iOS など他のブラウザへの接続に、Valence (Firefox ツールアダプタ) を使用します。
他のブラウザへの接続でトラブルが発生した場合は、Valence のページで各ブラウザの設定方法や注意事項を確認してください。
一部のアプリでデバッグできない
認定アプリ、プリインストールアプリ、実機にインストール済みのアプリをデバッグできない場合は、WebIDE の特権セキュリティポリシーの制限を受けている可能性があります。詳しくは無制限のアプリデバッグ (認定アプリ、メインプロセスなど) の章をご覧ください。
プロジェクトの一覧を読み込みできない
あるバージョンの Firefox で WebIDE を開いた後に、同じプロファイルを使用したまま Firefox をダウングレードすると、ダウングレード後の Firefox で WebIDE を開いた際に "Unable to load project list" というエラーが表示されることがあります。
これは WebIDE が使用するストレージシステム (IndexedDB) で、新しいバージョンの Firefox 向けに内部ファイルの移動や再構築が必要になったときに発生します。古いバージョンの Firefox では、プロジェクトの一覧にアクセスできなくなります。
データは失われていませんがプロジェクトの一覧にアクセスするには、プロファイルを使用していた新しいバージョンの Firefox を使用し続けなければなりません。
やむを得ず古いバージョンの Firefox を使用する場合は以下の手順でプロジェクト一覧のみ削除できますが、サポート外の手順ですのでさらなるトラブルやデータの喪失を招く可能性があります:
- Firefox を閉じます。
- Firefox のプロファイルのディレクトリを開きます。
- プロファイルのディレクトリ内で
storage
フォルダを探します。 - このフォルダ配下のファイルツリー内に、
4268914080AsptpcPerjo
(データベース名のハッシュ) で始まる名前のファイルやフォルダが見つかるでしょう。- 例えば、
<profile>/storage/permanent/indexeddb+++fx-devtools/idb
に存在します。
- 例えば、
- 該当するファイルやフォルダを削除します。
- 再び Firefox と WebIDE を開きます。
ログ取得を有効化する
診断情報を収集するために、詳細なログを取得できます:
- about:config を開き、新しい設定項目
[email protected]
を作成して、文字列値all
を設定します。また、[email protected]
をtrue
に設定します。 - アドオンマネージャで ADB Helper アドオンを無効化して、再び有効化します。
- ブラウザコンソールを開くと、接頭辞
adb
が付加されたメッセージが表示されます。メッセージが表示されない場合は、支援を求めてください。
支援を求める
IRC の #devtools ルームを訪れて、支援を求めてください。