Android源码编译选项eng、user、userdebug的区别
1、各选项简要说明
eng:debug版本
user:release版本
userDebug版本:部分debug版本
2、详细介绍
Android源码编译选项eng、user、userdebug是由Android.mk文件中的LOCAL_MODULE_TAGS配置项来决定的。其一般形式如下:
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
3、表格:
eng
This is the default flavor. A plain "make " is the same as "make eng ". droid is an alias foreng .
· 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.