更新和调整你的 Firefox OS 开发者预览版手机/Geeksphone

Firefox OS 手机的开发者预览版现在正广泛提供给社区,主要通过 Geeksphone。由于这些是面向开发者的,自然我们希望鼓励你尽可能多地进行修改和体验!
在这篇文章中,我们将介绍一些关于如何保持手机更新以及如何调整系统 Gaia 应用的基本技巧。

将你的 Geeksphone 更新到最新镜像

Firefox OS 更新可以在设置应用中下载,位于设备信息下。手机可以设置为每天、每周或每月检查更新。此外,还提供了“立即检查”按钮。当有更新可用时,系统会提示你下载并安装当前版本。

Geeksphone 团队现在还提供最新的稳定版和夜间构建版本,作为自包含的下载文件用于刷机。在继续操作之前,请确保你已按照 将 Firefox OS 应用推送到 Geeksphone 文章中“设置 Geeksphone 设备”部分所述设置了你的手机。这将确保你可以将数据推送到手机。

这些构建版本位于 Geeksphone 下载站点。在此站点上,你将可以选择你的设备以及要使用的构建版本类型。

下载你特定的构建版本并将归档文件解压缩到你的文件系统中。归档文件包含使用 Windows、Mac OS X 或 Linux 刷机的镜像和命令。在尝试刷机之前,请确保你已在手机上启用了远程调试。可以通过启动设置应用并导航到设备信息 -> 更多信息 -> 开发者选项卡来设置此选项。此外,如果电量低于 50%,请勿尝试刷机。

Windows

打开命令提示符(在 Windows 7 上,开始 -> 在搜索中键入 cmd -> 回车;在 Windows 8 上,Windows 键 + X -> 选择命令提示符)并 cd 到包含解压缩文件的目录。运行

flash.bat

Mac OS X

打开终端(Cmd + 空格 -> 键入终端 -> 回车)窗口并 cd 到包含解压缩文件的目录。运行

./flash_mac.sh

更新于 2013 年 11 月 12 日
在能够运行上述命令之前,你需要执行一些新的步骤

  1. 你需要下载 Android SDK:这是因为你需要 adb 和 flashboot 等工具。
  2. 解压缩文件,并将其移动到应用程序文件夹:或者,你可以将文件夹重命名为 AndroidSDK 之类的内容(在后续步骤中我将使用 AndroidSDK)。
  3. 打开(如果不存在则创建)~/.bash_profile,并添加以下行 export PATH=${PATH}:/Applications/AndroidSDK/sdk/platform-tools – 将 AndroidSDK 更改为你步骤 2 中使用的 SDK 文件夹名称。

Linux

打开终端(在 Ubuntu 上,ctrl-alt-t)窗口并 cd 到包含解压缩文件的目录。运行

./flash.sh

这应该会将新镜像刷入手机。手机需要重新设置,因为所有数据都将被清除。

如果你拥有“unagi”或不是 Geeksphone 的开发者预览版手机

如果你拥有不是 Geeksphone 的开发者手机,例如“unagi”或之前基于 Android 的设备,你可能需要执行以下步骤。如果不是这种情况,请跳到下一部分。

你需要安装 **adb** 和 **fastboot**。这些实用程序可以在 Android 开发者工具包中找到。

不需要安装整个工具包。从这里下载工具包并解压缩其内容。adb 和 fastboot 位于 /platform-tools/ 文件夹中。可以将它们复制到 Linux 或 Mac OS X 机器上的 /usr/bin,或者复制到另一个文件夹,只要该文件夹已添加到你的 $PATH 中。

如果你正在尝试刷机并且通过 USB 连接了其他设备,这些实用程序可能无法正确检测到你的手机。在尝试刷机时,请仅连接你的手机。

调整 Gaia

如果你是一位勤奋的人,你可能想要调整 Gaia 中的默认应用程序 - Firefox OS 中的 UI。在本节中,我们将介绍克隆 Gaia 和更改默认系统应用程序的一些基础知识。请记住,这些技巧是“自担风险”的,可能需要你阅读后面的“好的,我的手机变砖了”部分。在继续操作之前,请确保你已在系统上安装了 adb 和 fastboot。要验证它们是否已安装,请打开终端并键入 adb devices,同时连接你的手机。你应该会看到你的手机在已连接的设备下列出。

你还应该能够从终端运行 fastboot。如果你运行 fastboot,则应该显示一组参数选项。如果你没有安装 adb 或 fastboot,使用你的操作系统进行快速 Google 搜索将返回一些关于如何安装它们的快速入门指南。除了 adb 和 fastboot 之外,你还需要 Git。如果你目前没有安装 Git,请查看此 设置指南。最后,请确保你的手机已按照上一节所述设置了远程调试。

准备好先决条件后,你可以打开终端并 cd 到你想要克隆 Gaia 源代码的目录,然后键入以下命令。

git clone git://github.com/mozilla-b2g/gaia.git gaia
cd gaia

这会将当前的 Gaia 代码克隆到你的系统中。如果你计划将更改提交回 Gaia 源代码,请确保在克隆之前先分叉源代码,如 修改 Gaia 中所述。目前,Geeksphone Keon 使用 Gaia 代码的 v1.0.1 分支,因此请使用以下命令设置正确的分支。

git checkout -b v1.0.1 origin/v1.0.1

大多数系统应用程序位于 gaia 的 apps 子目录中。你现在可以对这些 Firefox OS 应用程序进行任何你想要的更改。完成更改后,运行以下命令将修改后的应用程序推送到你的手机。这将默认将所有系统应用程序推送到手机

B2G_SYSTEM_APPS=1 make install-gaia

如果你只更改了一个应用程序,可以使用类似的语法指定该应用程序。在此示例中,仅日历应用程序将被推送到手机

APP=calendar B2G_SYSTEM_APPS=1 make install-gaia

如果你在进行更改时遇到问题,可以使用以下任一命令将手机重置为默认值。

make production
make reset-gaia

注意:请记住,上述任一命令都会清除你已推送到手机的任何数据或应用程序。

“好的,我的手机变砖了”

如果你正在修改手机的过程中,它变得“无响应”,你应该能够使用 fastboot 和一个简单的过程来恢复它。以下说明了重置 Keon 的方法,但其他手机应该也有类似的过程。你还需要验证你是否已安装 fastboot。

首先拔掉 USB 线,然后从手机上取下电池 30 秒。然后重新插入电池,并按住音量减键,同时按住电源键几秒钟。接下来,重新连接 USB 线,并从包含此文章第一部分中所述的最新 img 文件的目录中的终端窗口运行以下命令。

fastboot flash recovery recovery.img
fastboot flash boot boot.img
fastboot flash userdata userdata.img
fastboot flash system system.img
fastboot reboot

此过程应能恢复你的手机。

开始体验吧!

我们希望这些说明对你有所帮助,并且自然希望你像我们一样对 Firefox OS 及其可能性感到高兴!请随时尝试更新你的设备,对 Gaia 应用进行更改/更新,并从中获得灵感,从而 构建你自己的开放式网页应用

关于 Robert Nyman [荣誉编辑]

Mozilla Hacks 的技术布道师和编辑。进行关于 HTML5、JavaScript 和开放网络的演讲和博客写作。Robert 是 HTML5 和开放网络的坚定支持者,自 1999 年以来一直从事网页前端开发工作 - 在瑞典和纽约市。他还定期在 http://robertnyman.com 上撰写博客,并且热爱旅行和结识新朋友。

更多 Robert Nyman [荣誉编辑] 的文章…

关于 Frédéric Harper

作为 Mozilla 的高级技术布道师,Fred 分享了他对开放网络的热情,并帮助开发者在 Firefox OS 上取得成功。经验丰富的演讲者、T 恤爱好者、长期博主、充满激情的拥抱者和 HTML5 爱好者,Fred 居住在蒙特利尔,并说 Frenglish(法语和英语混合语)。始终意识到独角兽和地精的重要性,你可以在 outofcomfortzone.net 上阅读这些主题和其他想法。

更多 Frédéric Harper 的文章…


31 条评论

  1. Nicolas Hoizey

    如果我在“flash_mac.sh”中将“userdata.img”行注释掉,以便每天使用夜间构建版本进行更新,潜在的影响是什么?

    2013 年 6 月 19 日 上午 06:37

    1. Christian

      你不会丢失你的设置和数据 ;-)

      Windows flash.bat 文件提供了此选项。

      2013 年 6 月 19 日 上午 07:52

    2. Jason Weathersby

      意思是,你只想使用夜间构建版本的 userdata?我相信 userdata 主要包含系统 webapps,所以我认为这应该不是问题。但我还没有测试过。

      2013 年 6 月 19 日 上午 08:02

      1. Nicolas Hoizey

        不,我想更新其他所有内容,而不是我的设置和已安装的应用程序。

        或者是否可以在任何新安装中编写这些脚本?

        2013 年 6 月 19 日 上午 08:12

        1. Jason Weathersby

          可以通过从脚本中删除 userdata 来实现。

          2013 年 6 月 19 日 上午 11:05

  2. Christian

    感谢分享!

    我的 Keon 没有使用 images-keon-2013-06-03.Gecko-08a0e76.Gaia-fcae236 启动。在 Geeksphone 徽标之后,屏幕变黑。

    然后我刷入了 nightly-images-keon-2013-06-18.Gecko-42ecd5c.Gaia-adca6e9,现在启动时停在“基于 mozilla 技术”处。

    看来我需要进行“好的,我的手机变砖了”过程…这起作用了 - 但我丢失了所有应用程序和设置 ;-)

    哦,还有,请从 flash.bat 中删除“EXIT”行。它会关闭命令窗口,而这并不总是期望的行为。

    2013 年 6 月 19 日 上午 06:42

    1. Jason Weathersby

      感谢你的评论。我会将其转达给 Geeksphone 团队。

      2013 年 6 月 19 日 上午 08:04

  3. Will Eastcott

    在哪里可以获得 recovery.img?

    2013 年 6 月 19 日 上午 10:45

  4. Jason Weathersby

    Recovery.img 应该在 GP 下载中。

    2013 年 6 月 19 日 上午 11:06

    1. Robert Nyman [编辑]

      事实证明,这仅在 Keon 的当前构建版本中存在,而不是 Peak 中。请联系 Geeksphone 获取更多信息。

      2013 年 6 月 19 日 下午 12:59

  5. Ankit Bahuguna

    我需要一些关于如何从 Keon 备份联系人和其他个人设置的信息。市场上是否有相应的应用程序?

    2013 年 6 月 19 日 下午 23:08

  6. Alexandre Girard

    在刷机并丢失它们之前,我真的很想将我的联系人保存到 .vcf 文件中。

    我已经开始开发这个应用程序

    https://github.com/alx/fos-backup-contacts

    我可以检索我的联系人,但是我卡在了“写入SD卡”和“创建VCF文件”的部分,如果有人愿意帮忙的话,感激不尽 :)

    2013年6月20日 08:04

  7. Jason Weathersby

    您可以使用类似以下代码的方式写入联系人
    var vcard = "BEGIN:VCARD"+"n"+ "VERSION:4.0"+"n"+ "N:Gump;Forrest;;;"+"n"+ "FN:Forrest Gump"+"n"+ "ORG:Bubba Gump Shrimp Co."+"n"+ "TITLE:Shrimp Man"+"n"+ "PHOTO;MEDIATYPE=image/gif:http://www.example.com/dir_photos/my_photo.gif"+"n"+ "TEL;TYPE=work,voice;VALUE=uri:tel:+1-111-555-1212"+"n"+ "TEL;TYPE=home,voice;VALUE=uri:tel:+1-404-555-1212"+"n"+ "ADR;TYPE=work;LABEL='100 Waters EdgenBaytown, LA 30314nUnited States of America'"+"n"+ " :;;100 Waters Edge;Baytown;LA;30314;United States of America"+"n"+ "ADR;TYPE=home;LABEL='42 Plantation St.nBaytown, LA 30314nUnited States of America'"+"n"+ " :;;42 Plantation St.;Baytown;LA;30314;United States of America"+"n"+ "EMAIL:forrestgump@example.com"+"n"+ "REV:20080424T195243Z"+"n"+ "END:VCARD"; var sdcard = navigator.getDeviceStorage("sdcard"); var file = new Blob([vcard], {type: "text/plain"}); var request = sdcard.addNamed(file, "test/my-file.vcf"); request.onsuccess = function () { var name = this.result; alert('文件 "' + name + '" 已成功写入SD卡存储区域'); } // 通常,如果已存在同名文件,则会发生错误 request.onerror = function () { alert('无法写入文件: ' + this.error.name); }

    2013年6月20日 13:38

  8. Jason Weathersby

    您还需要在应用中获得读写权限
    “device-storage:sdcard”:{ “access”: “readwrite” },
    并且Web类型应为特权类型
    “type”: “privileged”

    2013年6月20日 13:41

    1. Alexandre Girard

      非常感谢,我周末会尝试一下 :)

      2013年6月20日 23:44

  9. Lucas Salton Cardinali

    有没有办法将手机变砖?比如在Keon上刷入Peak镜像?

    2013年6月20日 16:42

    1. Robert Nyman [编辑]

      我们并不打算教大家如何将手机变砖 - 我们更希望它们能够正常使用。 :-)

      2013年6月24日 10:01

  10. anptr

    我遇到了只读文件系统的错误。 http://pastebin.mozilla.org/2553357

    2013年6月22日 15:04

    1. Jason Weathersby

      链接中没有任何内容。

      2013年6月24日 09:10

  11. Bob Thulfram

    这些都很好,但是每次我去GeeksPhone网站,他们都说缺货。还有其他方法获得参考设备吗?我很乐意支付200美元购买一个能用的设备。请帮忙!

    2013年6月23日 00:45

    1. Robert Nyman [编辑]

      对此我深感抱歉。手机的需求量非常大,希望将来我们能够提供更多。我们也正在考虑在未来几个月内发布正式版本,这可能是一个选择。

      所以,请密切关注Geeksphone网站和此处,我希望您最终能够获得一台。

      2013年6月24日 10:02

      1. Bob Thulfram

        好消息是,如果需求量很大,很多人都将支持Firefox OS。这非常令人兴奋。

        与此同时,开发环境是我见过的最简单、最快速的!

        感谢您的快速回复!

        2013年6月24日 18:12

  12. daf182

    你好,

    我在安装构建时遇到了问题。实际上,它重启后冻结在了Geeksphone的logo上。控制台告诉我…。

    解决方法是以root权限运行flash.sh
    sudo ./flash.sh

    感谢:http://javaguirre.net/2013/05/06/flashing-firefox-os-geeksphone-peak/

    快乐地进行黑客攻击,不要变砖!;)

    操作系统:Ubuntu 13.04,64位

    2013年6月26日 14:50

  13. Vee Satayamas

    我将Keon(20130703 nightly构建)与MacBook Pro连接。远程调试已启用。但我无法从github安装gaia。我收到了以下消息。

    https://gist.github.com/veer66/5916535

    2013年7月3日 02:08

    1. Jason Weathersby

      我不确定发生了什么变化,但我通过执行adb remount命令然后运行make命令使其工作了。

      2013年7月3日 15:33

      1. Vee Satayamas

        现在可以用了。非常感谢。

        2013年7月3日 20:41

  14. Benjamin Schmidt

    很棒的信息,谢谢!我只有一个问题:B2G 1.x已安装,但有2.x的Nightly可用。如果我安装它,WiFi无法工作,我无法设置显示器的亮度。(3天前尝试过)是否有解决此类问题的变通方法,或者现在已修复?

    另外:我可以在不丢失数据的情况下从“稳定版”刷入nightly版本吗?

    2013年7月3日 04:24

  15. Jason Weathersby

    我不确定这些问题是否已修复。您使用了哪个nightly版本?关于刷机的问题,我不确定这是否可行,但您可以尝试修改刷机脚本,不推送某些镜像,例如userdata。

    2013年7月3日 15:35

  16. Pluto

    顺便说一句,对于所有Windows客户端来说,打开MS应用程序的一种更简单的方法是通过快捷键WIN + R打开运行。从WinXP到Win8,甚至更早的版本都可以使用。然后只需输入cmd并按回车键。

    2013年7月12日 12:30

  17. Ron Gavioli

    大家好,

    我可以问一个非常愚蠢的问题吗,我的Keon唯一可以读取的视频格式是MP4,对吧?

    如果我将任何其他视频格式加载到内存卡中,Keon会忽略它,对吗?

    非常感谢,
    Ron

    2013年7月16日 05:40

    1. Robert Nyman [编辑]

      据我所知,是的。支持的视频格式将播放,其他格式将被忽略。

      2013年7月16日 06:09

本文评论已关闭。