Android user eng tests optional

880阅读 0评论2016-01-26 qinglajiao
分类:Android平台


LOCAL_MODULE_TAGS :=user eng tests optional

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

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

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

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

 

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.

顶 0 踩

错误日志如下: 

make:进入目录'/mnt/bak/mydroid' 
build/core/base_rules.mk:78: *** Module name: led.goldfish 
build/core/base_rules.mk:79: *** Makefile location: mokoid/hardware/modules/led 
build/core/base_rules.mk:80: * 
build/core/base_rules.mk:81: * Each module must use a LOCAL_MODULE_TAGS in its 
build/core/base_rules.mk:82: * Android.mk. Possible tags declared by a module: 
build/core/base_rules.mk:83: * 
build/core/base_rules.mk:84: *     optional, debug, eng, tests, samples 
build/core/base_rules.mk:85: * 
build/core/base_rules.mk:86: * If the module is expected to be in all builds 
build/core/base_rules.mk:87: * of a product, then it should use the 
build/core/base_rules.mk:88: * "optional" tag: 
build/core/base_rules.mk:89: * 
build/core/base_rules.mk:90: *    Add "LOCAL_MODULE_TAGS := optional" in the 
build/core/base_rules.mk:91: *    Android.mk for the affected module, and add 
build/core/base_rules.mk:92: *    the LOCAL_MODULE value for that component 
build/core/base_rules.mk:93: *    into the PRODUCT_PACKAGES section of product 
build/core/base_rules.mk:94: *    makefile(s) where it's necessary, if 
build/core/base_rules.mk:95: *    appropriate. 
build/core/base_rules.mk:96: * 
build/core/base_rules.mk:97: * If the component should be in EVERY build of ALL 
build/core/base_rules.mk:98: * products, then add its LOCAL_MODULE value to the 
build/core/base_rules.mk:99: * PRODUCT_PACKAGES section of 
build/core/base_rules.mk:100: * build/target/product/core.mk 
build/core/base_rules.mk:101: * 
build/core/base_rules.mk:102: *** user tag detected on new module - user tags are only supported on legacy 
上一篇:Recovery服务的核心install_package函数
下一篇:Android switch class