android.mk中LOCAL_MODULE_TAGS说明【转】

转自http://blog.csdn.net/evilcode/article/details/6459299

LOCAL_MODULE_TAGS :=user eng tests optional

user: 指该模块只在user版本下才编译

eng: 指该模块只在eng版本下才编译

tests: 指该模块只在tests版本下才编译

optional:指该模块在所有版本下都编译

如果两次make之间选了不同的编译模式,则需要运行一下make installclean,确保本次make不会用到上次install的文件,也可以运行make clean,不过耗时较长。

eng This is the default flavor. A plain "make" is the same as "make eng". droid is an alias for eng. 
  * Installs modules tagged with: eng, debug, user, and/or development. 
  * Installs non-APK modules that have no tags specified. 
  * Installs APKs according to the product definition files, in addition to tagged APKs. 
  * ro.secure=0 
  * ro.debuggable=1 
  * ro.kernel.android.checkjni=1 
  * adb is enabled by default.

user "make user"     This is the flavor intended to be the final release bits. 
  * Installs modules tagged with user. 
  * Installs non-APK modules that have no tags specified. 
  * Installs APKs according to the product definition files; tags are ignored for APK modules. 
  * ro.secure=1 
  * ro.debuggable=0 
  * adb is disabled by default.

userdebug "make userdebug"     The same as user, except: 
  * Also installs modules tagged with debug. 
  * ro.debuggable=1 
  * adb is enabled by default.

Build flavors/types

When building for a particular product, it‘s often useful to have minor variations on what is ultimately the final release build. These are the currently-defined "flavors" or "types" (we need to settle on a real name for these).

eng This is the default flavor. A plain "make " is the same as "make eng ". droid is an alias for eng .

  • Installs modules tagged with: eng , debug , user , and/or development .
  • Installs non-APK modules that have no tags specified.
  • Installs APKs according to the product definition files, in addition to tagged APKs.
  • ro.secure=0
  • ro.debuggable=1
  • ro.kernel.android.checkjni=1
  • adb is enabled by default.
user "make user "

This is the flavor intended to be the final release bits.

  • Installs modules tagged with user .
  • Installs non-APK modules that have no tags specified.
  • Installs APKs according to the product definition files; tags are ignored for APK modules.
  • ro.secure=1
  • ro.debuggable=0
  • adb is disabled by default.
userdebug "make userdebug "

The same as user , except:

  • Also installs modules tagged with debug .
  • ro.debuggable=1
  • adb is enabled by default.

If you build one flavor and then want to build another, you should run "make installclean " between the two makes to guarantee that you don‘t pick up files installed by the previous flavor. "make clean " will also suffice, but it takes a lot longer.

时间: 2024-10-11 08:26:47

android.mk中LOCAL_MODULE_TAGS说明【转】的相关文章

Android.mk中的经常使用语法

Android.mk编译文件是用来向Android NDK描写叙述你的C,C++源码文件的, 今天查了一些经常使用的的语法. 一 概述: 一个Android.mk文件用来向编译系统描写叙述你的源码. 详细来说:该文件是GNU Makefile的一小部分,会被编译系统解析一次或很多其它次的build系统. 你能够在每个Android.mk文件里定义一个或多个模块, 你也能够在几个模块中使用同一个源码文件. 二 语法 1 必须定义内容 先看必须定义的内容: LOCAL_PATH := $(call

Android.mk中LOCAL_MODULE_CLASS对LOCAL_MODULE_PATH 的影响

LOCAL_MODULE_CLASS用于制定LOCAL_MODULE_PATH的路径所在. 如果在Android.mk没有直接明确LOCAL_MODULE_PATH 的话,需要通过以下规则来自动生成base_rules.mk: 154 LOCAL_MODULE_PATH := $(strip $(LOCAL_MODULE_PATH)) 155 ifeq ($(LOCAL_MODULE_PATH),) 156 #LOCAL_MODULE_CLASS := 157 LOCAL_MODULE_PATH

【转】Update: Android.mk 中的 LOCAL_SRC_FILES, LOCAL_C_INCLUDES

看原文请移步:Update: Android.mk 中的 LOCAL_SRC_FILES, LOCAL_C_INCLUDES 我在先前的两篇post 编写Android.mk中的LOCAL_SRC_FILES的终极技巧 编写 android.mk 中 LOCAL_C_INCLUDES 的技巧 中提到了一些编译android.mk文件的技巧, 由于都涉及到了shell命令, 导致不能完全在windows下工作, 下面我使用纯净的makefile语法重新编写了脚本 # 配置自己的源文件目录和源文件后

[转]编写 android.mk 中 LOCAL_C_INCLUDES 的技巧

看原文请移步:编写 android.mk 中 LOCAL_C_INCLUDES 的技巧 在编写android.mk的过程中,免不了要修改LOCAL_C_INCLUDES来设置头文件的include目录, 一般写成这样 LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes $(LOCAL_PATH)/../../Classes/game $(LOCAL_PATH)/../../Classes/logic $(LOCAL_PATH)/../../Classe

Android.mk中的常用语法

Android.mk编译文件是用来向Android NDK描述你的C,C++源代码文件的, 今天查了一些常用的的语法. 一 概述: 一个Android.mk文件用来向编译系统描述你的源代码. 具体来说:该文件是GNU Makefile的一小部分,会被编译系统解析一次或更多次的build系统. 你可以在每一个Android.mk文件中定义一个或多个模块, 你也可以在几个模块中使用同一个源代码文件. 二 语法 1 必须定义内容 先看必须定义的内容: LOCAL_PATH := $(call my-d

编写Android.mk中的LOCAL_SRC_FILES的终极技巧(转)

转自:http://blog.csdn.net/fu_zk/article/details/12836431 问题的引入 在使用NDK编译C/C++项目的过程中,免不了要编写Android.mk文件,其中最重要的就是LOCAL_SRC_FILES源文件列表.考虑有如下源文件分布的情况: cpp文件全部位于android项目下的jni文件夹下,结构如下 jni |---1.cpp |---2.cpp |---Android.mk |---Application.mk |---ndk_test.cp

Android.mk中引用第3方动态库

Android.mk 文件内容: LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE_TAGS := optional LOCAL_SRC_FILES:= \ testH264VideoStreamer.cpp LOCAL_MODULE := live555_streamLOCAL_MODULE_CLASS := EXECUTABLESLOCAL_STATIC_LIBRARIES := libcutils libc LOC

makefile 与android.mk中加信息打印

makefile里面加打印: [table]@echo ' zImage - Compressed kernel image' android.mk里面加信息打印: $(warning TEXT......) 这个函数被运行的时候.会输出:TEXT......,可是make会继续运行下去. $(error TEXT......) 这个函数被运行的时候,会输出:TEXT.......而且终止make的运行. 当中"TEXT....."能够替换为对变量的取值来输出变量的信息,比如:$(wa

makefile 与android.mk中加打印信息

[table]@echo ' zImage - Compressed kernel image' android.mk里面加打印信息: $(warning TEXT......) 这个函数被执行的时候,会输出:TEXT......,但是make会继续执行下去. $(error TEXT......) 这个函数被执行的时候,会输出:TEXT......,并且终止make的执行. 其中“TEXT.....”可以替换为对变量的取值来输出变量的信息,例如:$(warning $(VAR)),那么该函数执