“应用管理器 (App Manager)”为桌面版 Firefox 的新工具,开发者可以通过浏览器,直接在 Firefox OS 手机 和 Firefox OS 模拟器 (Firefox OS Simulator) 中进行 HTML5 Web App 的测试、布署、调试等工作。
App Manager是为使用Firefox OS 1.2 及之后的版本的开发者服务的,如果您正在Firefox OS 1.1 版本上开发app,则需要参考有关Firefox OS 1.1 仿真器的介绍。
应用管理器具备下列组件:
- “应用”面板,将管理本地 App(即在你电脑上的 App 源代码)与托管(Hosted)在外部的 App,让开发者能在自己的设备或模拟器上进行打包和安装,并通过工具箱调试。
- “设备”面板,显示已连线设备的相关信息,包括所安装 Firefox OS 的版本、所使用设备 API 的必要权限、已安装的 App 等。
- 开发者工具箱, 包含了一套开发者工具(Web控制台、查看器、调试器等),可通过“应用”面板连接上执行中的 App来执行调试。
快速设置:
本节的目的是让开发者尽快的设置和应用工具。如果你需要一些更详细的资料,则可以请跳过本节,直接从《设备和系统配置》阅读。如遇到任何问题,也可参阅《疑难排除》获取帮助。
- 确保已安装了桌面版Firefox 26+
- 打开应用管理器(在地址栏输入
about:app-manager
) - 如果你没有实际的 Firefox OS 设备:
- 安装 Firefox OS 模拟器 (Firefox OS Simulator)
- 在应用管理器底部的工具栏中,点击“启动模拟器” ,然后再点击模拟器名称(已安装的模拟器均应出现)。
- 如果你拥有 Firefox OS 设备:
- 请确保你的设备运行Firefox OS 1.2+
- 在Windows上,请安装你的手机制造商提供的驱动程序
- 进入设备的“Settings”,停用“Screen Lock(
Settings
>Screen Lock
)”,并启用“Remote Debugging(Settings
>Device information
>More information
>Developer
)” - 为桌面版 Firefox 安装附加组件 ADB Helper
- 通过 USB 接口将设备连接到你的电脑
- 你应该可以在应用管理器底部的工具栏看到设备的名称,点击它
- 底部工具栏应显示 “连接到: xxx”
- 点选 “应用”面板 并新增应用(打包或托管应用皆可)
- “刷新”按钮将验证该 App 并安装到模拟器/设备中
- 调试按钮连接开发者工具到运行中的 App
- 如遇到麻烦,请参阅 疑难排除章节以得到更多帮助
设备和系统配置
使用应用管理器前的第一件事,就是要确保你的系统和手机的设定是正确的。接着就是按照本节说明的各个步骤运行。
需要Firefox 1.2+
请确保你的设备运行Firefox OS1.2/Boot2Gecko1.2或更高版本。要检查当前 Firefox OS 版本,则可进入 Settings
> Device Information
> Software
。
如果您没有安装足够高版本的 Firefox OS,则你需要根据手机型号的不同,安装 Firefox 1.2+ nightly 版本,或通过源代码配置和构建自己的版本。
可用的构建:
- Geeksphone Keon/Peak builds(要了解更多使用方式,可参阅 Updating and Tweaking your Firefox OS Developer Preview phone/Geeksphone )
- 敬请期待更多
注意:要构建自己的 Firefox OS 1.2+,请参阅 编译及安装Firefox OS火狐操作系统 说明,并从 编译Firefox OS的系统需求 着手。
远程调试
接下来,你需要在 Firefox OS 中启用远程调试,开启方法为:进入 Settings
> Device information
> More information
> Developer
,并勾选 Remote Debugging 复选框即可。
ADB 或 ADB helper
通过 Android Debug Bridge (ADB) 连接设备与电脑并通信。有两个运行ADB的方式:
-
让 Firefox 处理 ADB(推荐)。安装 ADB Helper 附加组件,可让过程变得简单。安装了 ADB Helper 就不需再安装 ADB,也不需再输入
下载扩展 ADB Helperadb forward
指令,一切由此附加组件将处理。 - 手动使用 ADB。你需要把它安装在你的电脑上—下载、安装
adb
(可参考安装ADB )
。然后通过在终端中输入以下命令来启用端口映射:adb forward tcp:6000 localfilesystem:/data/local/debugger-socket
注意,每次重启或插拔手机,都需要重复上述动作 1 次。
注意:如果安装了 ADB Helper 扩展,就不需执行此指令。
将设备连接到应用管理器
所有配置完成之后,就可将设备连上电脑并启动应用管理器:
- 通过USB接口连接电脑。
- 在你设备上禁用锁屏,方法是
Settings > Screen Lock
并 取消Lock Screen
勾选。这是非常必要的,因为当屏幕锁定后,手机和电脑的连接就会中断,这样就无法调试了。 - 启动应用管理器(App Manager) — 在桌面版 Firefox 菜单中点击
Tools > Web Developer > App Manage
启动,或在通过地址栏输入”about:app-manager“启动。 - 应用管理器标签页底部,会看到连接状态栏(见下图)。您应该能够通过点击“连接到 localhost:6000”按钮即可连线设备。
- 如连接成功,就会有“An incoming request to permit remote debugging connection was detected. Allow connection?”对话框。点击“OK”钮(你可能需要按下手机的电源键,才能看到该对话框)。这时连接状态栏应该更新为”连接到 B2G“,如想断开连接,可以按”断开“连接。
注意:在连线状态栏中有其他控件,允许你通过模拟器连接到应用管理器 ,我们将在下一节中说明。另外要更改连接端口,则需要启动”端口映射“功能,可参阅上节的《端口映射》。
使用 Firefox OS Simulator 附加组件
如果你没有实际的 Firefox OS 设备来配合 App Manager,可以使用 FirefoxOS 模拟器。不过要选择适合自己操作系统的模拟器版本:
注意:目前只有 Firefox OS 1.2 模拟器,未来将提供更多版本选择。
一旦你安装了模拟器,就可以在应用管理器底部栏找到并点击 ”启动模拟器“按钮。接着将出现 3 个按钮:
- ”Firefox OS 1.2“(或类似的):最左侧的按钮显示你所安装模拟器的版本名称。点击它来启动连接模拟器。
- ”添加“:中间的按钮将链接到本文本节,这样你就可以添加更多新版本的模拟器(如Firefox OS 1.2, Firefox OS 1.3, ...)。
- ”取消“:右侧按钮可以取消连接。
“应用”面板
现在一切设定完毕,我们了解一下应用管理器的功能吧。首先是“应用”面板。在这里你可以导入现有应用到设置,便于调试。
- 若安装本地应用,则点击“添加已打包应用”标签按钮,在弹出对话框中选择放置该应用的目录即可。
- 若安装外部托管应用,则点击“添加已托管应用” 标签按钮后填入应用 manifest 文件的绝对路径,再点击 “+” 按钮。
在窗口右侧会显示你应用的相关信息,如下图所示:
Manifest 编辑器
从 Firefox 28 开始,“应用”面板包含一个应用 manifest 编辑器:
调试
点击“更新”(安装)按钮,则更新(安装)应用到设备中。点击“调试”按钮将调用工具箱,让你直接来调试应用源代码。
注意:你可以尝试玩一下工具盒 — 比如,尝试修改DOM,CSS等等,你会立即看到实时反映到了设备上。这些修改被保存到已安装的应用代码里,在你下次在设备上打开应用后会看到改变。
在 Firefox 28 之前,这个工具都是在单独窗口中启动。从 Firefox 28 开始,这些工具都会在应用管理器中的“应用”和“设备”面板标签旁边,以标签形式出现。该标签很容易找打,该标签卡会出现应用的图标。
错误
如果应用没有被成功添加(例如,URL不正确,或者打包了一个错误文件夹)— 即使引入了一个错误的应用,也会被包括错误信息。
你可以在上图中删除一个应用,把鼠标悬停在左侧窗口应用名/描述上,然后按出现的“X”按钮即可。然而,这并没有真正把设备上的应用删除了,你仍然需要在设备上手动删除应用。
“设备”面板
“设备”面板显示已连接设备的相关信息。在“已安装应用”窗口中可以启动和调试设备上的应用。
注:Certified Apps 默认不列出。可参阅 Certified App 的调试方式。
“权限”窗口显示当前设备的各种 Web API 所需要的权限。
最后,你可以点击“截图”按钮,截下当前设置显示的画面,截图会显示在 Firefox 的新标签页中,你可以另存该图。
调试 Certified Apps
目前仅限搭载 Firefox OS 1.2 开发版本的设备,才能进行 Certified Apps 的调试。若你的设备正运行开发版本,则可将首选项中的“ devtools.debugger.forbid-certified-apps”变更为“false”,即可开始 Certified Apps 的调试。具体请按照下列步骤操作:
-
在电脑的终端/控制台中输入下列指令,以进入设备的文件系统:
adb shell
命令行会提示转为
root@android
. -
接着,使用下列命令停止B2G运行:
stop b2g
-
进入以下目录:
cd /data/b2g/mozilla/*.default/
-
这一步,使用下列代码更新 prefs.js 文件:
echo 'user_pref("devtools.debugger.forbid-certified-apps", false);' >> prefs.js
-
当你完成编辑并保存文件后,使用以下命令重新启动B2G:
start b2g
-
this will return you to your normal terminal prompt.使用
exit
命令退出 android 的文件系统;就会返回到正常的终端提示符画面。 -
接下来,重新连接到应用管理器,你应该可以看到 Certified Apps 出现,就可以进行调试了。
注意:如果你想把这个偏好设定加入自己的 Gaia 版本,且即使重设手机也能让该设定保持启用状态,则可将此偏好设定加入 build/custom-prefs.js
再执行 make reset-gaia
即可。
疑难排除
如果设备无法识别:
- 请先完整阅读上方的《装置与系统设定》章节,确认已完成所有步骤:
- 你的设备上运行的是否是 Firefox OS 1.2+?
- 无法看到所有应用?查看是否启用了“调试 Certified Apps”?
- 是否已启用手机的“远程调试(Remote Debugging)”?
- 如果你不使用扩展 ADB Helper :
- 是否已成功执行
adb forward
指令?
- 是否已成功执行
- 如果你使用了扩展 ADB Helper ,但自己的设备并未出现于底部工具栏中:
- 如果你使用Linux,一定要正确设置 udev
- 如果你使用Windows,请确保安装相应的驱动程序
- 你的手机是解锁状态吗?