Android中的eng和用户调试构建之间的区别

我想知道两个build_flavor之间的区别。

eng&user-debug

eng和用户构建风味之间的区别很明显。 但是eng和用户调试让我感到困惑。 在用户调试中不存在的eng中提供的附加调试工具是什么?

例如。

 If I take only the Kernel being built: 

Will the Debugging levels differ for the eng and user-debug builds?

我正面临一个问题,用户调试版本在Android手机上启动。 但是build build不是,build_flavor是两个构建之间的唯一区别。

任何帮助/指针表示赞赏。 谢谢!

eng:这是默认的味道。 普通品与make 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

这是最终版本的味道。

 - 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

与用户相同,但以下情况除外:

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

文档: https : //source.android.com/source/add-device.html#build-variants

那么三个构建之间的区别即。 eng,user和user-debug如下:

eng – 工程构建带有默认的root访问权限。

用户 – 用户构建是生产电话上闪现的用户构建。 没有root访问权限。

user-debug – 用户调试版本没有默认的root访问权限,但可以root。 它还包含额外的日志记录。

这里需要注意的一件事是,虽然eng版本可能会建议额外的日志记录,但事实并非如此。 用户调试将包含最大日志记录,应在开发期间使用