WebIDE 문제해결

USB로 Firefox OS 장치 연결하기

WebIDE를 통한 Firefox OS 장치 연결이 정상적이지 않을 때, 아래의 방법을 시도해보시기 바랍니다.

  • Firefox OS 버전 확인: 연결하고자 하는 기기에 Firefox OS 1.2/Boot2Gecko 1.2 이상의 버전이 동작하고 있는 것을 확인하세요. 버전을 확인하기 위해서는 기기에서 Settings 어플리케이션의 Device Information > Software 에서 확인할 수 있습니다. 대상 기기에서 동작하는 소프트웨어의 버전이 낮을 경우에는 developer phone guide에서 연결 대상 기기를 찾은 뒤, 지시에 따라 업그레이드를 진행하시기 바랍니다.
  • 원격 디버깅 활성화: 대상 기기의 Settings 어플리케이션에서  Device information > More information > Developer로 이동한 뒤
    • Firefox OS 1.3과 그 이전 버전: 체크 박스 형태의 "Remote Debugging"을 체크하세요.
    • Firefox OS 1.4 and later: "Remote Debugging" asks you to enable for just ADB, or for ADB and DevTools. Select "ADB and DevTools".
  • 잠금화면 끄기: in the Settings app on the device, go to Screen Lock and unchecking the Lock Screen checkbox. This is a good idea because when the screen gets locked, the phone connection gets lost, meaning it is no longer available for debugging.
  • Make sure you haven't connected an Android phone at the same time as the Firefox OS phone to your computer.
  • 사용중인 USB케이블 확인:
    • Try unplugging and replugging in the USB cable.
    • Try plugging the USB cable into a different port on your computer. You may have to alternate between ports.
    • Try a different USB cable. The cables that come with phones are often of poor quality and fail often.
    • Try a shorter USB cable. Long USB cables have been known to not work so well.
  • Try disabling and re-enabling Remote Debugging in the Settings app on the device.
  • If you disabled the ADB Addon Helper, did you successfully run the adb forward command?
  • If you use Linux:
    • Make sure you added a udev rules file, as documented in step 3 of this guide to setting up an Android device. The idVendor attribute to use for the Geeksphone is "05c6", and this page lists other idVendor values. Next, run the adb devices to make sure your device is in the list. If device appears to be "no permission", you need to restart adb server (e.g. adb kill-server;adb start-server).
  • If you use Windows:
  • If you use Mac OS X:
    • If you're getting timeout errors connecting to both simulators and real devices, you may be unable to connect to localhost due to an empty /etc/hosts file. You can solve the problem by populating the file and flushing DNS cache as described here.
    • If you're an EasyTether user, you will need to uninstall or disable EasyTether: sudo kextunload /System/Library/Extensions/EasyTetherUSBEthernet.kext

Wi-Fi로 Firefox OS 장치 연결하기

  • Check your version: Wi-Fi debugging requires Firefox 39 or higher, and a Firefox OS device running a build of Firefox OS 3.0 from 2015-03-27 or later.
  • The QR code scanner can be a bit frustrating at the moment, as real devices appear to capture a very low resolution picture. Bug 1145772 aims to improve this soon. If you have trouble with this, try scanning with a few different orientations. If you chose "Scan and Remember, then you won't have to scan the code again the next time you connect your computer to this device.

Connecting to Firefox for Android

If you're trying to connect to a Firefox instance running on the Android OS and it doesn't show up, here are some things you can try:

  • Check your Firefox version: make sure your device is running Firefox 36 or higher. WebIDE will not detect older versions automatically, so you need to enable port forwarding and connect to the device port - follow the instructions here.
  • Make sure you have enabled remote debugging in Firefox: open Firefox for Android, open its menu, select Settings, and then check the checkbox at Developer Tools > Remote debugging.
  • Make sure that USB debugging is allowed in the device's developer settings
  • If you still do not see your device in the WebIDE window, try toggling Remote debugging on the phone.
    • Disconnect your device from your computer and turn off Remote debugging on the phone.
    • Reconnect the device and turn on Remote debugging - this restarts the debugger instance on the phone.
    • Try connecting via WebIDE again.
  • If using Windows, make sure that your Android device is recognized correctly and that it is using the Google USB Driver that is included with the Android SDK.

Connecting to other browsers (Chrome, Safari)

WebIDE makes use of Valence (formerly Firefox Tools Adapter) to reach other browsers, like Chrome and Safari. 

If you are having trouble connecting to these other browsers, check the setup steps and other notes for those browsers on the Valence page.

Can't debug some apps

If you are finding that you can't debug certified apps, built-in apps, or apps already installed on a real device, then you may be coming across WebIDE's restricted privileges security policy. To find out more, see the section on Unrestricted app debugging (including certified apps, main process, etc.).

Unable to load project list

If you open WebIDE in one version of Firefox, and then downgrade to a previous Firefox version with the same profile, you may see the error "Unable to load project list" when opening WebIDE in the earlier Firefox version.

This can occur when the storage system that WebIDE uses (IndexedDB) needs to move or restructure its internal files for the newer Firefox version. The project list then becomes effectively inaccessible to older versions of Firefox.

No data has been lost, but you will need to keep using the newest version of Firefox that was used with your profile to get the project list back.

If really want to use the older version of Firefox, you can attempt to delete just the project list in the following way, but this is unsupported and could result in the further problems or additional data loss:

  1. Close Firefox
  2. Find your Firefox profile directory
  3. Find the storage folder inside the profile directory
  4. Under some part of this file tree, there should be files and/or directories that start with 4268914080AsptpcPerjo (a hashed name of the database)
  5. Remove any such files and directories
  6. Start Firefox and WebIDE again

Enable logging

You can also enable verbose logging to gather diagnostics:

  1. Open about:config, and add a new preference called extensions.adbhelper@mozilla.org.sdk.console.logLevel, with the string value all, and set extensions.adbhelper@mozilla.org.debug to true.
  2. In the Add-ons Manager, disable and then re-enable the ADB Helper add-on.
  3. Open the Browser Console and you'll now see console messages prefixed with adb. If the messages don't mean anything to you, ask for help.

Get help

Go to the #devtools room on IRC and we will try to help.