make 选项参考

1 位贡献者:

这篇翻译不完整。请帮忙从英语翻译这篇文章

在Gaia仓库下的执行make命令会创建一个Gaia配置文件,继而装载到您的设备端或运行在 B2G Desktop 中。本文会对make不同的选项详细探究。

注意: 在Makefile文件中有许多环境变量,不要太依赖它们,因为在将来可能会去掉。

创建的配置文件一般存放在gaia的根目录下,例如 /gaia/profile 文件夹,其中包括下面的条目: 

  • defaults/: 文件夹中会包含默认的配置信息,也就是重启手机后装载的信息。
  • extensions/: 文件夹下包含的是扩展项。
  • settings.json: Settings 文件
  • user.js: 文件中包含更多的设置/配置信息
  • webapps/: 文件夹中包含所有需要安装到手机上的web 应用。

注意: 当您已经生成了一个配置文件而且想要构建一个新的文件,就必须在构建新的配置文件前,将原有的删除。

默认命令

make

该命令只是给您一个非调试下的默认编译。 对于一个带有品牌的构建,您需要使用Official Mozilla branding make命令; 对于调试构建,您需要使用 Debug make命令。

推送到设备端

make install-gaia

make reset-gaia

使用 ADB (Android Debug Bridge) 安装工具,上面的make命令会将Gaia推送到设备端。  install-gaia 会将Gaia更新从您工作的文件夹推送到设备端。 reset-gaia 在将Gaia推送到手机前会清除所有现存的配置,配置文件,web 应用以及数据库信息。

编译特定的应用

APP=system make

APP=system make install-gaia

当一个配置文件已存在时, APP 参数允许您指定特定的app重新打包,而不是对所有的Gaia应用重新打包和重新发布。

指定自定义的profile文件夹

您可以指定一个自定义的文件夹来构建您的profile文件。例如使用 PROFILE_FOLDER:

PROFILE_FOLDER=profile-b2g-desktop make

不同设备的编译

下面几个 make 选项是不同的设备进行编译,其用途也会不同。

创建Gaia的手机端编译

GAIA_DEVICE_TYPE=phone make

此次编译是从 /gaia/build/config/phone/apps-engineering.list 文件获取app的。

创建Gaia的平板端编译

GAIA_DEVICE_TYPE=tablet make

此次编译是从 /gaia/build/config/tablet/apps-engineering.list 文件获取app的。

不同的编译类型

有些选项可以创建出不同的编译类型,其目的也有所不同。

Production make

PRODUCTION=1 make

它会创建 Gaia 的生产型编译版本

  • Gaia is run as packaged apps, which are harder to debug, but are the best available state for apps in terms of available API permissions, etc.
  • Test app 不会包含在其中
  • 默认情况下,远程调试是关闭的
  • 锁屏功能是开启的(反过来会切断 USB 连接)
  • Marionette is turned off
  • 初次用户体验时开启的
  • Offline cache is used.

注意: 您也可以使用  make production 替换该命令。

Debug make

DEBUG=1 make

The DEBUG variable runs Gaia as hosted apps on a built-in web server on a specific GAIA_PORT, rather than the default of packaged apps which have to be re-packaged after every change; this makes things easier to test. Launching the profile with the latest Firefox Nightly will also give you nice B2G specific panels on the Firefox Developer Tools.

In addition:

  • Test apps are included in the build.
  • Remote debugging is turned on by default.
  • Lock screen is turned off (USB connections won't be interrupted.)
  • Marionette is turned on, which is needed when running Gaia unit tests.
  • First time user experience is turned off.
  • Offline cache is not used, even if it is generated.

Device debug make

DEVICE_DEBUG=1 make

它可以禁用设备的锁屏, 并且启用 ADB 工具,因此在设备调试时是非常有用的。

在 Firefox OS version > 1.2 以上版本,当想要使用 App Manager 调试 Firefox OS webapps 时指定这个参数。

Debug desktop make

DEBUG=1 DESKTOP=0 make

这个选项可以创建一个 desktop 调试版本, 在 B2G desktop 中运行。

官方 Mozilla 分支 make

MOZILLA_OFFICIAL=1 make

Use this to make an official Mozilla-branded build.

Dogfood make

DOGFOOD=1 make

Dogfooding options and utilities are turned on, for example the Feedback app, which allows doog fooders to easily submit feedback on the OS.

System apps make

B2G_SYSTEM_APPS=1 make

这个环境变量能将 app 推送到 /system/b2g 而不是 /data/local。当进行 user 编译时应使用这个命令。 当运行  make production 这个命令会自动设置。可用作install-gaia 或 reset-gaia

发布和市场化定制编译

GAIA_DISTRIBUTION_DIR=./dir

注意: Read Market Customizations for more details.

开发者/调试选项

There are also make options for adding/removing features or changing settings, for debugging purposes.

使能远程调试

REMOTE_DEBUGGER=1

This enables remote debugging on the device, the same as using the option in the developer settings.

JavaScript 优化 make

GAIA_OPTIMIZE=1 make

This triggers an optimization pass on Gaia's JavaScript, concatenating/compressing the files. This is automatically set when running make production. This can be used for install-gaia or reset-gaia too.

高分辨率图片资源

GAIA_DEV_PIXELS_PER_PX=1.5 make

When packaging the app, this option replaces images with their *@1.5x.(gif|jpg|png) equivalents if such images exist. You need to use the above option as part of a standard make command, for example:

GAIA_DEV_PIXELS_PER_PX=1.5 make reset-gaia

GAIA_DEV_PIXELS_PER_PX=1.5 make install-gaia

Gaia is currently targetting the following screen resolutions:

  • qHD: ~540×960; device pixel ratio = 1.6875
  • WVGA: ~480×800; device pixel ratio = 1.5
  • HBGA (320x240); device pixel ratio = 1

use GAIA_DEV_PIXELS_PER_PX to make sure the images looks sharp on qHD and WVGA devices. see A pixel is not a pixel for more information about device pixels per css pixels.

低内存 profile 编译

GAIA_MEMORY_PROFILE=low make

This variable generates a low memory profile version of Gaia, aimed at low memory devices like the Tarako.

Haida features

HAIDA=1 make reset-gaia

This build enables the Haida feature set, which is currently limited to rocketbar and edge gestures, but will likely include other features in the near future.

禁用初次用户体验 (FTU)

NOFTU=1

使用这个环境变量可以禁用 FTU。

禁用锁屏

您可以使用 NO_LOCK_SCREEN 选项禁用 Firefox OS 的锁屏功能,例如:

NO_LOCK_SCREEN=1 make

参考工作负载 Reference Workloads

参考工作负载(Reference workloads)能够使开发者在一些应用中快速装载大量的数据,尤其是对新烧的机器。 

在 Gaia 目录下可执行下面命令:

make reference-workload-light
  • 200 contacts
  • 200 sms messages
  • 50 dialer history entries
  • 20 gallery images
  • 20 songs
  • 5 videos
make reference-workload-medium
  • 500 contacts
  • 500 sms messages
  • 100 dialer history entries
  • 50 gallery images
  • 50 songs
  • 10 videos
make reference-workload-heavy
  • 1000 contacts
  • 1000 sms messages
  • 200 dialer history entries
  • 100 gallery images
  • 100 songs
  • 20 videos
make reference-workload-x-heavy
  • 2000 contacts
  • 2000 sms messages
  • 500 dialer history entries
  • 250 gallery images
  • 250 songs
  • 50 videos

这些命令可以接受 APP 环境变量或者是 APPS 环境变量(需要使用空格将各 app 名称分开)。例如:

APP=sms make reference-workload-light
APPS="sms communications/contacts" make reference-workload-heavy

The apps available are:

APPS="gallery music video communications/contacts sms communications/dialer"

为了能够使用参考工作负载 (reference workloads), 必须安装 mid3v2 工具。 这个工具可以使用下面命令安装: 

sudo apt-get install python-mutagen

如果您使用的是 Fedora 或 RHEL 操作系统,请使用下面命令:

sudo yum install python-mutagen

make 文档

Gaia 文档可以通过 jsdoc3 进行编译。要产生文档,可以使用下面的命令:

make docs

启用 IME 布局和词典

要启用键盘 IME 布局和词典, 请使用下面的命令结构:

GAIA_KEYBOARD_LAYOUTS=en,zh-Hant-Zhuyin,el,de,fr,zh-Hans-Pinyin make

文档标签和贡献者

向此页面作出贡献: ReyCG_sub
最后编辑者: ReyCG_sub,
隐藏侧边栏