Difference between user version and ENG version

Source: Internet
Author: User
[Description]
Differences between Android user and ENG
 
[Keyword]
Project version difference of user Eng
 
[Solution]
Google official description: User/userdebug/eng version differences, refer to the detailed description of Alps/build/CORE/build-system.html
Eng this is the default flavor. A plain make is the same as make Eng.
* Installmodules tagged with: ENG, debug, user, and/or development.
* Installnon-APK modules that have no tags specified.
* Installapks 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.
* Setupwizard is optional
User make user
This is the flavor intended to be the final release bits.
* Installmodules tagged with user.
* Installnon-APK modules that have no tags specified.
* Installapks according to the product definition files; tags are ignored for APK modules.
* Ro. Secure = 1
* Ro. debuggable = 0
* ADB is disabled by default.
* Enable Dex pre-optimization for all target projects in default to speed up device first boot-up
Userdebug make userdebug
The same as user, doesn t:
* Also installmodules tagged with debug.
* Ro. debuggable = 1
* ADB is enabled by default. MTK supplement differences:
(1) In terms of DEBUG/log, in principle, the user version can only capture limited information, while Eng can capture more information. The debug version is more powerful, and The ENG version is recommended for development and testing.
* Due to the different Ro. Secure Settings of user/eng versions, the user version ADB only has shell permissions, while the Eng version has root permissions.
* MTK System Log after ICS, all logs are disabled by default in the user version, which is enabled by default in the Eng version to capture complete information.
* In the Eng version, the log volume is greater than or equal to the log volume of the user version. In some cases, check the eng/user version to check whether the log is printed.
* UART is disabled by default in user and UART is enabled in Eng by default.
* In the Eng version, enabling ANR predump will capture ftrace and get more information about ANR.
* In the Eng version, you can use RTT to capture backtrace. You can enable KDB for Kernel debug and use ftrace to capture CPU execution scenarios.
* MTK aee captures more exception information in the Eng version. For example, native exception captures core dump Information (2) performance. In principle, use the user version for performance testing.
* The user version uses DVM pre-optimization to speed up the first boot. The Dex file is decomposed into odex files that can be directly loaded and run. The ENG version does not enable this optimization.
* Fewer log printing and UART shutdown. In principle, the performance of the user version is superior to that of the Eng version (3) how to confirm the user/eng version
* At the Java layer, check the type value in the Android. OS. Build class.
* Native layer, property_get ("Ro. Build. Type", char * value, "eng"); then check the value
* When debugging, ADB shell getprop Ro. Build. Type returns the user or user version, and ENG or Eng version.
* Log: Check the Ro. Build. Type attribute in Mobile Log/aplog_xxxxx/versions. (4) how to compile the user/eng version.
* The ENG version is compiled by default. To compile the user version, add the parameter-O = target_build_variant = user, for example:
./MK-O = target_build_variant = user mt6577_phone new

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.