Android编译大全(七)

6.5. buildspec.mk
默认情况下,buildspec.mk文件是不存在的,表示使用的多少默认选项。Android只提供了buildspec.mk文件的模板文件build/buildspec.mk.default。如果需要使用buildspec.mk文件,请将该文件拷贝到<srcDir>根目录下面,并命名为buildspec.mk。同时,需要将模板文件里面的一些必要的配置项启用或者修改为你所需要的目标选项。

 

buildspec.mk文件主要配置下面的选项:

Ø  TARGET_PRODUCT:设置编译之后的目标(产品)类型;

可以设置的值在:build/target/product/中定义。比如,product目录下有下面几个mk文件:

2  AndroidProducts.mk

2  core.mk

2  full.mk

2  generic.mk

2  languages_full.mk

2  languages_small.mk

2  sdk.mk

2  sim.mk

那么,在这里可以设置的值就为上面几个mk文件的前缀名称(generic等)。

Ø  TARGET_BUILD_VARIANT:设置image的类型;

包括三个选项:user、userdebug、eng。

usr:                     出厂时候面向用户的image;

userdebug:      打开了一些debug选项的image;

eng:                  为了开发而包含了很多工具的image

Ø  CUSTOM_MODULES:设置额外的总是会被安装到系统的模块;

这里设置的模块名称采用的是简单目标名,比如:Browser或者MyApp等。这些名字在LOCAL_MODULE或者在LOCAL_PACKAGE_NAME里面定义的。

LOCAL_MODULE is the name of what’s supposed to be generated from your Android.mk. For exmample, for libkjs, the LOCAL_MODULE is “libkjs” (the build system adds the appropriate suffix — .so .dylib .dll). For app modules, use LOCAL_PACKAGE_NAME instead of LOCAL_MODULE. We’re planning on switching to ant for the apps, so this might become moot.

Ø  TARGET_SIMULATOR:设置是否要编译成simulator <true or false>;

Ø  TARGET_BUILD_TYPE:设置是debug还是release版本 <release or debug>;

Set this to debug or release if you care.  Otherwise, it defaults to release for arm and debug for the simulator.

Ø  HOST_BUILD_TYPE:设置Host目标是debug版还是release版;

<release or debug, default is debug>

Ø  DEBUG_MODULE_ModuleName:配置单个模块的版本是debug还是release;<ture or false>

Ø  TARGET_TOOLS_PREFIX:工具名前缀,默认为NULL

Ø  HOST_CUSTOM_DEBUG_CFLAGS/ TARGET_CUSTOM_DEBUG_CFLAGS:增加额外的编译选项LOCAL_CFLAGS。

LOCAL_CFLAGS:If you have additional flags to pass into the C or C++ compiler, add them here. For example: LOCAL_CFLAGS += -DLIBUTILS_NATIVE=1

Ø  CUSTOM_LOCALES:增加额外的LOCALES到最总的image;

Any locales that appear in CUSTOM_LOCALES but not in the locale list for the selected product will be added to the end of PRODUCT_LOCALES.

Ø  OUT_DIR:编译之后文件保存路径。默认为<build-root>/out目录;

Ø  ADDITIONAL_BUILD_PROPERTIES:指定(增加)额外的属性文件;

Ø  NO_FALLBACK_FONT:设置是否只支持英文(这将减少image的大小)。<true, false>

Ø  WEBCORE_INSTRUMENTATION:webcore支持;

Ø  ENABLE_SVG:SVG支持;

Ø  BUILD_ENV_SEQUENCE_NUMBER:编译系列号;

posted @ 2011-11-16 21:00  googlegis  阅读(267)  评论(0编辑  收藏  举报

坐标合肥,非典型GIS开发人员 GitHub