..前段日子有阵一直在折腾FirefoxOS(B2G)移动操作系统。它是以Mozilla修改过的Linux(AOSP)也就是Gonk为基础、Gecko渲染为Web层、Gaia为用户层基于Web的开源操作系统。此系统于2011年诞生,2016年被砍掉。最近突然翻出很久前买的ZTE_OpenC手机开始使用,我又正好是Firefox的忠实用户,所以就展开惹对这款操作系统的探索。玩惹几天又没时间玩惹,就稍微总结下吧,以后还会继续用下去。(后面会接触下KaiOS也说不定X

一个失败移动操作系统的前世今生,别了FirefoxOS:https://www.sohu.com/a/128781438_355140


FFOS设备使用和开发网站推荐

比较推荐Mozilla官方的MDN:

B2G OS - Archive of obsolete content(中)

https://developer.mozilla.org/zh-CN/docs/Archive/B2G_OS

Firefox OS架构 - Archive of obsolete content | MDN(中)

https://developer.mozilla.org/zh-CN/docs/Archive/B2G_OS/Platform/Architecture#Firefox_OS_%E6%9C%AF%E8%AF%AD

B2G OS - Archive of obsolete content | MDN(英)

https://developer.mozilla.org/en-US/docs/Archive/B2G_OS

关于应用开发比较推荐CSDN上一些老文章。刷机的话请移步XDA社区的FireFoxOS板块。

如果你正在使用它,推荐可以搜索下Mini123这个网站,上面的应用或站点均基于Web,并且基本上FFOS都可以用。

后面有时间的话我也会写一些文章什么的。比如架构解析、应用开发、还有适配FFOS的Web应用之类的。

关于ZTE的OpenC开发:https://konstakang.com/devices/kis3/

LG的Fx0粉丝站:http://fx0.hellco.net/

How to install packaged apps in Firefox OS:https://hacks.mozilla.org/2013/03/how-to-install-packaged-apps-in-firefox-os-options-and-tools/

通过NodeJS调试安装FirefoxOS的APPS:https://soledadpenades.com/posts/2015/install-to-adb-installing-packaged-firefox-os-apps-to-usb-connected-phones-using-adb/

目前FFOS的应用商店已经完全关张了,您也可以尝试自己写应用或者下载别人的源码编译安装到系统。


开发环境搭建

FFOS的开发环境是内置于大概Firefox的30-50这区间的版本的(正好是12年到16年的浏览器版本),也就是说它的开发环境是完全基于firefox浏览器的。因此您可以在Windows、Linux或Mac上进行FFOS应用开发。您可以搜索firefox的官方ftp上找到nightly版本下载。我是基于较老的37.0版本进行开发的。

Directory Listing: /pub/firefox/nightly/

http://ftp.mozilla.org/pub/firefox/nightly/

1)首先选择一个版本,下载解压并打开。

2)如果您需要虚拟机的话,可以安装一个浏览器插件,这个插件包含了FFOS的虚拟机,您可以随时启动它调试您的程序。

Firefox OS模拟器(Firefox OS Simulator)下载 v2.1官方正式版–pc6下载站

http://www.pc6.com/softview/SoftView_110007.html

3)在安装插件之前,您最好关闭插件签名:

打开firefox,在地址栏中输入about:config并回车;

找到xpinstall.signatures.required,并右击选择“切换”,改成false即可;

4)安装好插件后,地址栏输入about:app-manger,再将开发工具中的WebIDE打开,即可进入FFOS的IDE。

在此,您需要在浏览器下方找到虚拟管理,启动插件实例或者下载一个实例。

注意:ADB Helper是必须的,请务必安装。


联动实体设备或虚拟机

虚拟机比较方便,默认端口应该是9000,直接启动实例就会自动完成连接。

在WebIDE上书写程序。您可以新建项目,里面会有HelloWorld的模板,直接编译后运行即可测试看看。

FFOS的软件布局相当简单,基本上是基于web网页的应用,可以动手试一试。

FFOS的调试是基于ADB(就是安卓adb)的,如何安装ADB这里就不赘述了。

请将FFOS设备中开发者设置中的远程调试打开。通过USB或同一网wifi连接后,驱动可以直接使用android的adb驱动。和传统安卓操作一样,您可以直接命令adb devices查看到您的ffos设备,或adb shell等直接远程命令调试。

连接成功后,方可通过firefox的webide等进行连接。选择远程调试即可,端口号就是你adb连接的端口号。

FFOS的设备在锁屏状态下调试会自动关闭,建议保持设备一直不会被锁定。

你开发后的应用下放到FFOS里会被下放到Gaia层安装到系统中。


更多有趣的玩法等我网课结束后有时间玩B2G再和大家分享//


@本地磁盘姬

ohayou.aimo.moe

微博:@本地磁盘姬碟酱

Twitter:本地磁盘姬碟酱

知乎:本地磁盘姬

2020年02月27日

教程:BootToGecko系统虚机与实机开发环境搭建及FirefoxOS设备使用和开发网站推荐;相关推荐

  1. SLAM导航机器人零基础实战系列:(五)树莓派3开发环境搭建——1.安装系统ubuntu_mate_16.04...

    SLAM导航机器人零基础实战系列:(五)树莓派3开发环境搭建--1.安装系统ubuntu_mate_16.04 摘要 通过前面一系列的铺垫,相信大家对整个miiboo机器人的DIY有了一个清晰整体的认 ...

  2. 无Mac机IOS开发环境搭建手记

    一直以来都是做Web开发的,说实话时间长了总有些腻烦的感觉.最近一直在关注移动领域的开发,想从这个从未入手过的领域找点新鲜感和激情.在 Android和IOS之间的技术选型上确实犹豫了好久,Andro ...

  3. 微信公众号开发系统入门教程(公众号注册、开发环境搭建、access_token管理、Demo实现、natapp外网穿透)

    由于图片图床问题,文章部分图片无法预览,暂时把该文章迁移至简书,给大家带来麻烦,抱歉了. 感兴趣的小伙伴可参考:https://www.jianshu.com/p/cc1b1050b5b4 Autho ...

  4. Win10+Python+Django+Nginx+MySQL开发教程及实例(1)——开发环境搭建

    Win10+Python+Django+Nginx+MySQL开发教程及实例 PaulTsao 本教程共有三篇内容: 第一篇:Win10+Python+Django+Nginx+MySQL 开发环境搭 ...

  5. 【正点原子Linux连载】第三章 RV1126开发环境搭建 摘自【正点原子】ATK-DLRV1126系统开发手册

    1)实验平台:正点原子RV1126 Linux开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=692176265749 3)全套实验源码+手册+视频 ...

  6. MP地面站二次开发教程(一)开发环境搭建和编译

    目录 基于Mavlink的上位机地面站开发教程 第一节 开发环境搭建 1.预编译 (源码尽量放到非中文目录下面) 2.初次编译 ​ 3.删除这个speech引用,重新引用这个speech包(每个人的环 ...

  7. 2022 最新 Android 基础教程,从开发入门到项目实战【b站动脑学院】学习笔记——第一章:Android开发环境搭建

    第 1 章 Android开发环境搭建 本章介绍了如何在个人电脑上搭建Android开发环境,主要包括:Android开发的发展历史是怎样的.Android Studio的开发环境是如何搭建的.如何创 ...

  8. 【教程】Windows下Miniconda+Pytorch+Pycharm开发环境搭建指南

    Windows下Miniconda+Pytorch+Pycharm开发环境搭建指南 给本科生写的新手教程,遇到很多新手的共性问题,可供大家参考.在开始阅读之前,请注意两个要关键:1.为什么要使用Con ...

  9. Go 学习笔记(1)— Ubuntu 系统 Go 环境搭建、VS Code 配置 Go 开发环境、VS Code 远程开发配置

    1. 安装说明 Ubuntu 下直接安装 Go 1.11 版本编译器时需要依赖 Go 1.4 版本.所以如果在使用 apt-get install go安装时参考以下链接安装:https://blog ...

最新文章

  1. 如何做好一场技术演讲-总结:4、演讲中的肢体语言管理和声音控制有哪些门道?
  2. 一些在NLP的面试中提问频率非常高的问题
  3. boost::mpl模块实现quote相关的测试程序
  4. return 与 exit()的区别--return退出本函数,exit()退出整个程序
  5. VS中添加第三方库及相对路径设置
  6. react redux 相关技术
  7. 利用CSS、JavaScript及Ajax实现图片预加载的三大方法
  8. 国家职业标准职业编码查询_为什么我学会编码而不是从事金融职业
  9. string、char *、char []之间的相互转换
  10. 翻转链表python递归_Python实现链表反转的方法【迭代法与递归法】
  11. javascript window.history
  12. hibernate CascadeType属性说明
  13. mac原版镜像下载 macos官方镜像下载
  14. 一文读懂YUV的采样与格式
  15. mysql 字符串拼接的几种方式
  16. M2Det 网络解读
  17. openbsd mysql_在OpenBSD上运行MyDNSNameservers(MySQL / PHP + MyDNS + MyDNSConfig)
  18. python画彩虹的代码_Python语言,绘制彩虹场景
  19. 【五一创作】iSH修改hostname(主机名)【美化】【短篇技术类文章】
  20. 记录一下 git 一个项目推送到2个不同的仓库遇到的问题

热门文章

  1. Layer 1: Single Objects
  2. 桌面管理器(gdm、lightdm)启动后——到界面显示时间优化
  3. 简单说下每一层对应的网络协议有哪些?
  4. 采集淘宝网的10个经典方法
  5. 快速计算平方根数(约翰·卡马克)
  6. 燃尽图 (Burn up and Burn down Chart)—介绍
  7. 如何在纯HTML的静态网页中添加一段统计网页访问量的JAVA Script代码?
  8. AriaNg的Nginx 421错误解决
  9. c语言计算机那类教,C语言教学中的兴趣驱动
  10. SDH同步数字系列(Synchronous Digital Hierarchy,SDH)--SONET同步光网络(Synchronous Optical NETwork,SONET)