趁编译源码的时候写下此篇以记录!

参考链接:https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Building_and_installing_B2G_OS?redirectlocale=en-US&redirectslug=Firefox_OS%2FBuilding_and_installing_Firefox_OS

1.前提(编译环境)

上网条件:VPS 翻墙!

硬件要求:Ubuntu14.04(以上)、CPU双核(以上)、150G磁盘空间(以上)、2G RAM(以上)。

软件要求:https://blog.csdn.net/nxh_love/article/details/8834849

https://source.android.com/setup/initializing#installing-required-packages-ubuntu-1204

2.什么是Firefox OS ?

Firefox OS 是一个为网页设计而生的能编译和独立的手机网页操作系统,我们相信在接下来的时代,网页应用将充满整个新兴操作设备,这也为当前许多网页开发者不需要太多的学习新的计算机语言来开发网页应用,为当前网页开发者提供了良好的平台。专案名称为Boot to Gecko,也称B2G.

(1) Firefox OS 是基于开源的网页技术(HTML,CSS,JavaStript)。
(2) Firefox OS的UI设计全部是基于这些开源网页技术。
(3) 桌面菜单照相应用通话界面等,所有这些都是基于HTML。
(4) 最新颖的一部分是你可以自己编辑手机上应用的UI如果你知道这些开源网页技术。
(5) 你可以将Firefox OS 划分为三部分,分别是 Gonk 、Gecko、Gaia 。

3.配置翻墙

前提是有Vultr:https://segmentfault.com/a/1190000015558387)

3.1安装shadowsocks

# sudo apt-get install python-pip
# pip install shadowsocks
新建配置文件:/etc/shadowsocks/config.json
内容如下:
{
    "server":"koumakan.cc",
    "server_port":14235,
    "local_address": "127.0.0.1",
    "local_port":1080,
    "password":"70531e5054d83dfbfcfef74a13a1fb7cc034a9d0",
    "timeout":300,
    "method":"aes-256-cfb",
    "fast_open": true,
    "workers": 1
}

设置http代理:
# sudo apt-get install privoxy

修改文件中的配置:
# cd /etc/privoxy
# sudo vim config
反注释1337行,forward-socks5  /   127.0.0.1:1080  . ( 为自己shadowsocks监听的本地端口)

配置环境变量 :vim ~/.bashrc
添加如下行:alias ssp='export http_proxy=http://localhost:8118 && export https_proxy=http://localhost:8118';

执行:source ~/.bashrc
翻墙的终端中输入ssp,设置代理,然后就可在当前终端中进行翻墙

3.2安装Repo工具:

# mkdir ~/bin
# export PATH=~/bin:$PATH  #添加path环境变量到.bashrc文件末尾
# ssp
# curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
# sudo chmod a+x ~/bin/repo

手动启动shadowsocks客户端: # sslocal -c /etc/shadowsocks/config.json &

4.下载、编译FireFox OS(B2G)源码

4.1 获取源码

Get Source Code

1

$ git clone https://github.com/mozilla-b2g/B2G.git

这个完成后,会发现B2G文件下,只有一些脚本文件,根本没有source code 。接下来要继续执行

Get Source Code

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

cd B2G

$ ./config.sh

Usage: ./config.sh [-cdflnq] [-j <jobs>] [--force-sync] (device name)

Flags are passed through to |./repo sync|.

Valid devices to configure are:

- galaxy-s2

- galaxy-nexus

- nexus-4

- nexus-4-kk

- nexus-5

- nexus-5-l

- nexus-6-l

- nexusplayer-l

- nexus-s

- nexus-s-4g

- flo (Nexus 7 2013)

- otoro

- unagi

- inari

- keon

- peak

- hamachi

- helix

- tarako

- dolphin

- dolphin-512

- pandaboard

- vixen

- fairphone2

- flatfish

- flame

- flame-kk

- flame-l

- openc-fr

- openc-ebay

- > Raspberry Pi boards

- rpi (Revision B)

- rpi2b-l

- emulator

- emulator-jb

- emulator-kk

- emulator-l

- emulator-x86

- emulator-x86-jb

- emulator-x86-kk

- emulator-x86-l

> Sony Xperia devices

- aries (Z3 Compact KK)

- aries-l (Z3 Compact L)

- leo-kk (Z3 KK)

- leo-l (Z3 L)

- scorpion-l (Z3 Tablet Compact L)

- sirius-l (Z2 L)

- castor-l (Z2 L Tablet LTE/WiFi)

- castor_windy-l (Z2 L Tablet WiFi only)

- honami-l (Z1 L)

- amami-l (Z1 Compact L)

- tianchi-l (T2U L)

- flamingo-l (E3 L)

- eagle-l (M2 L)

- seagull-l (T3 L)

执行./config 后,目前Firefox OS 支持的设备和模拟器会显示出来,由于公司有nexus-5这个台机器,所以源码下载此版本。

在下载之前注意参考我的另一篇博客:Nexus-5刷机后的界面无app图标且黑屏的问题分析。

Get Source Code

1

2

3

$ ssp

$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

$ ./config nexus-5

随即开始下载nexus-5版本的源码。此时,已经在获取source code了,下载过android source code的人都应该知道这是一个漫长的过程。

4.2 编译源码

不过在编译之前呢,先获取下最新的code:

Get Source Code

1

2

$ git pull

$ ./repo sync

也可以只更新某一模块的code,比如:

Get Source Code

1

2

3

$ ./repo sync gaia

$ ./repo sync gecko

$ ./repo sync gonk-misc/

注意!!

1、编译之前要下载r11b版本的NDK,将其解压在用户的~/.mozbuild目录中。

2、JDK版本需是:

3、make 3.81

直接执行以下命令对源码进行编译:

Get Source Code

1

$ ./build.sh -j2

注意:在编译过程中,会提示缺少某些工具软件、或者某些工具软件版本过低,照错误提示解决即可。

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

5.Installing B2G OS on a mobile device

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

FireFox OS(B2G)源码获取与Build code相关推荐

  1. Firefox OS 学习——B2G 源码获取和build code

    参考文章:Building and installing Firefox OS 这篇文件简单说下,自己实践获取B2G的源码并编译. 硬件要求: 1. An installed 64 bit GNU/L ...

  2. Firefox os 游戏源码之全面寻找房祖名

    最近娱乐圈中的监狱风云是炒的风声水起,今天就给大家献上一个Firefox os 游戏源码,全民寻找房祖名,希望大家喜欢! 下载地址:http://i5fox.com/forum.php?mod=vie ...

  3. 华为云14天鸿蒙设备开发-Day1源码获取

    目录 前言 一.获取源码 1.源码获取方式 1.1 从镜像站点获取 1.2 从HPM网站组件式获取 1.3 用包管理器命令行获取 1.4从代码仓库获取 二.在Windows中打开工程源码 1.映射工程 ...

  4. 鸿蒙Hi3861学习十九-DevEco Device Tool源码获取、编译、下载

    一.简介 在上一篇文章中,已经讲述了如何在Windows通过Remote SSH远程连接Linux下的DevEco Device Tool.这篇文章,来说一下关于源码的获取.编译与下载.建议先按照上一 ...

  5. 最完整的android源码获取方法及环境建立

    网上看了前人的那么多关于android源码获取方法及环境建立,门路可真多,今天我就总结一下个人学习经验,算是比较完整的了. 一.获取方法: 1.直接找到人家已经下载好的android源码,如cupca ...

  6. <漫漫Android路>AOSP源码获取编译及问题处理

    漫漫Android路---1.AOSP源码获取编译及导入 写在前面 环境准备 AOSP源码获取 1.Repo下载配置 2.Git安装及配置 3.AOSP获取 AOSP源码编译 1.安装编译依赖 2.开 ...

  7. php 框架获取服务器,Thinkphp 框架基础之源码获取、环境要求与目录结构分析

    本文实例讲述了Thinkphp 框架基础之源码获取.环境要求与目录结构.分享给大家供大家参考,具体如下: 获取ThinkPHP 获取ThinkPHP的方式很多,官方网站(http://thinkphp ...

  8. 树莓派内核开发准备(内核源码获取、启动过程、源码目录树)

    目录 1.交叉编译工具的安装 2.内核源码获取 3.嵌入式设备带操作系统的启动过程扫盲 4.Linux内核源码树扫盲 1.内核源码简介 2.Linux内核源代码目录树结构 tree指令查看 内核源码目 ...

  9. 教务管理系统(免费源码获取)

    项目介绍 本系统使用springboot,mybatis-plus,shiro,lombok等技术,使用json传递数据 使用加盐加密对数据进行保存,前端页面使用vue搭建并打包放在static文件夹 ...

最新文章

  1. python处理u开头的字符串
  2. 被压缩的视觉:视频编解码技术
  3. android 打包时报错解决
  4. 移动app崩溃原因及场景
  5. InstallShield安装打包编译自动化(3)- 更新Package GUID,Product GUID以及Upgrade GUID
  6. java socket 二次发送_发过2次帖子,都没有了,再发。JAVA中SOCKET通信中的数据压缩问题...
  7. linux+dd模式,Linux命令之dd详解
  8. SAP Netweaver和阿里云的战略合作关系
  9. 十二 Spring的AOP开发入门,整合Junit单元测试(AspectJ的XML方式)
  10. 宜信PaaS平台基于Calico的容器
  11. 关于TcpClient,Socket连接超时的几种处理方法
  12. Java集合面试题(总结最全面的面试题)
  13. TCPMP播放器UI的修改方法
  14. WGS84转GCj02
  15. GIS就业参考系列之方向篇——条条大道通罗马
  16. 信息安全与密码学概论
  17. DL/T 645-2007多功能电表通信规约
  18. java action接口,Struts2 Action接口与ActionSupport类
  19. Relation Graph 人物关系图
  20. 解决连接深信服vp无法通过burpsuit抓包的问题

热门文章

  1. 网页域名在QQ内被多人投诉举报拦截的解决方案
  2. 2018年广东工业大学文远知行杯新生程序设计竞赛 1001 文远知行β
  3. IntelliJ IDEA-设置背景图片
  4. html获取文本框光标位置,html 在编辑框中如何定位光标和获取光标最后位置
  5. 网页设计需要服务器,制作网站需要什么准备?
  6. phpstuday mysql的慢日志开启及查询
  7. 如何给女友解释程序员写代码是怎么样的?
  8. Elo系统---英雄联盟、WOW采用的匹配算法
  9. ixgbe网卡驱动Ⅱ---- 驱动注册
  10. 哈希算法在判定树同构方面的应用(上)