http://www.2cto.com/kf/201312/265629.html
Android源码编译选项eng、user、userdebug的区别
1、各选项简要说明
eng:debug版本
user:release版本
userDebug版本:部分debug版本
2、详细介绍
Android源码编译选项eng、user、userdebug是由Android.mk文件中的LOCAL_MODULE_TAGS配置项来决定的。其一般形式如下:
1
|
LOCAL_MODULE_TAGS := user eng optional test
|
1、user:只有在user版本时该模块才被编译进去;
2、eng:只有在eng版本时该模块才被编译进去;
3、test:只有在tests版本时该模块才被编译进去;
4、optional:在所有版本中都编译该模块进去。
其中的值可设置为1个或多个,分别对应编译选项的同一个或多个。eng、user、userdebug的区别如下:
1、当make eng时,也即相当于make。此时BuildType为eng,那么其编译进去的内容包括:
·Intended for platform-level debugging
·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 taggedAPKs
·Sets ro.secure=1
·Sets ro.debuggable=0
·Sets ro.kernel.android.checkjni=1
·adbd is enabled by default
2、当make user时,此时BuildType为user,那么其编译进去的内容包括:
·Intended to be the final release
·Installs modules tagged as user
·Installs non-APK modules that have no tags specified
·Installs APKs according to the product definition files (tags are ignored forAPK modules)
·Sets ro.secure=1
·Sets ro.debuggable=0
·adbd is disabled by default
3、当make userdebug时,此时BuildType为userdebug,那么其编译进去的内容包括:
thesame as user, except:
·Intended for limited debugging
·Installs modules tagged with debug
·Sets ro.debuggable=1
·adbd is enabled by default
|
This is the default flavor. A plain " · Installs modules tagged with: · Installs non-APK modules that have no tags specified. · Installs APKs according to the product definition files, in addition to tagged APKs. · · · · |
|
" This is the flavor intended to be the final release bits. · Installs modules tagged with · Installs non-APK modules that have no tags specified. · Installs APKs according to the product definition files; tags are ignored for APK modules. · · · |
|
" The same as · Also installs modules tagged with · · |