--- title: 使用应用管理器 slug: Archive/B2G_OS/Using_the_App_Manager translation_of: Archive/B2G_OS/Using_the_App_Manager ---

“应用管理器 (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 仿真器的介绍。

 

应用管理器具备下列组件:

快速设置:

本节的目的是让开发者尽快的设置和应用工具。如果你需要一些更详细的资料,则可以请跳过本节,直接从《设备和系统配置》阅读。如遇到任何问题,也可参阅《疑难排除》获取帮助。

  1. 确保已安装了桌面版Firefox 26+
  2. 打开应用管理器(在地址栏输入 about:app-manager
  3. 如果你没有实际的 Firefox OS 设备:
    1. 安装 Firefox OS 模拟器 (Firefox OS Simulator)
    2. 在应用管理器底部的工具栏中,点击“启动模拟器” ,然后再点击模拟器名称(已安装的模拟器均应出现)。
  4. 如果你拥有 Firefox OS 设备:
    1. 请确保你的设备运行Firefox OS 1.2+
    2. 在Windows上,请安装你的手机制造商提供的驱动程序
    3. 进入设备的“Settings”,停用“Screen Lock(Settings > Screen Lock)”,并启用“Remote Debugging(Settings > Device information > More information > Developer)”
    4. 为桌面版 Firefox 安装附加组件 ADB Helper
    5. 通过 USB 接口将设备连接到你的电脑
    6.  你应该可以在应用管理器底部的工具栏看到设备的名称,点击它
  5. 底部工具栏应显示 “连接到: xxx”
  6. 点选 “应用”面板 并新增应用(打包或托管应用皆可)
  7. “刷新”按钮将验证该 App 并安装到模拟器/设备中
  8. 调试按钮连接开发者工具到运行中的 App
  9. 如遇到麻烦,请参阅 疑难排除章节以得到更多帮助

设备和系统配置

使用应用管理器前的第一件事,就是要确保你的系统和手机的设定是正确的。接着就是按照本节说明的各个步骤运行。

需要Firefox 1.2+

请确保你的设备运行Firefox OS1.2/Boot2Gecko1.2或更高版本。要检查当前 Firefox OS 版本,则可进入 Settings > Device Information > Software

如果您没有安装足够高版本的 Firefox OS,则你需要根据手机型号的不同,安装 Firefox 1.2+ nightly 版本,或通过源代码配置和构建自己的版本。

可用的构建:

注意:要构建自己的 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的方式:

注意:如果安装了 ADB Helper 扩展,就不需执行此指令。

将设备连接到应用管理器

所有配置完成之后,就可将设备连上电脑并启动应用管理器:

  1. 通过USB接口连接电脑。
  2. 在你设备上禁用锁屏,方法是 Settings > Screen Lock 并 取消 Lock Screen 勾选。这是非常必要的,因为当屏幕锁定后,手机和电脑的连接就会中断,这样就无法调试了。
  3. 启动应用管理器(App Manager)  — 在桌面版 Firefox 菜单中点击 Tools > Web Developer > App Manage 启动,或在通过地址栏输入”about:app-manager“启动。
  4. 应用管理器标签页底部,会看到连接状态栏(见下图)。您应该能够通过点击“连接到 localhost:6000”按钮即可连线设备。
  5. 如连接成功,就会有“An incoming request to permit remote debugging connection was detected. Allow connection?”对话框。点击“OK”钮(你可能需要按下手机的电源键,才能看到该对话框)。这时连接状态栏应该更新为”连接到 B2G“,如想断开连接,可以按”断开“连接。

注意:在连线状态栏中有其他控件,允许你通过模拟器连接到应用管理器 ,我们将在下一节中说明。另外要更改连接端口,则需要启动”端口映射“功能,可参阅上节的《端口映射》。

使用 Firefox OS Simulator 附加组件

如果你没有实际的 Firefox OS 设备来配合 App Manager,可以使用 FirefoxOS 模拟器。不过要选择适合自己操作系统的模拟器版本:

安装 Firefox 模拟器

注意:目前只有 Firefox OS 1.2 模拟器,未来将提供更多版本选择。

一旦你安装了模拟器,就可以在应用管理器底部栏找到并点击 ”启动模拟器“按钮。接着将出现 3 个按钮:

“应用”面板

现在一切设定完毕,我们了解一下应用管理器的功能吧。首先是“应用”面板。在这里你可以导入现有应用到设置,便于调试。

在窗口右侧会显示你应用的相关信息,如下图所示:

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 的调试。具体请按照下列步骤操作:

  1. 在电脑的终端/控制台中输入下列指令,以进入设备的文件系统:

    adb shell

    命令行会提示转为 root@android.

  2. 接着,使用下列命令停止B2G运行:

    stop b2g
  3. 进入以下目录:

    cd /data/b2g/mozilla/*.default/
  4. 这一步,使用下列代码更新 prefs.js 文件:

    echo 'user_pref("devtools.debugger.forbid-certified-apps", false);' >> prefs.js
  5. 当你完成编辑并保存文件后,使用以下命令重新启动B2G:

    start b2g
  6. this will return you to your normal terminal prompt.使用 exit 命令退出 android 的文件系统;就会返回到正常的终端提示符画面。

  7. 接下来,重新连接到应用管理器,你应该可以看到 Certified Apps 出现,就可以进行调试了。

注意:如果你想把这个偏好设定加入自己的 Gaia 版本,且即使重设手机也能让该设定保持启用状态,则可将此偏好设定加入 build/custom-prefs.js 再执行 make reset-gaia 即可。

疑难排除

如果设备无法识别:

无法将设备连接到应用管理器或启动模拟器?请让我们知道反馈错误