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

时间:2012-12-19 10:45:16

标签: android linux makefile linux-kernel android-build

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

  

eng&用户调试

eng和用户构建风味之间的区别很明显。但是eng和用户调试让我感到困惑。在eng中提供的哪些额外的调试工具在user-debug中不存在?

例如。

If I take only the Kernel being built:

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

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

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

2 个答案:

答案 0 :(得分:49)

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

答案 1 :(得分:20)

三个版本之间的区别即。 eng,user和user-debug如下:

  

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

     

用户 - 用户构建是生产手机上闪现的用户构建。没有root访问权限。

     

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

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