Android源码编译选项eng、user、userdebug的区别

来源:互联网 发布:python和ruby的区别 编辑:程序博客网 时间:2024/05/18 17:01



1、各选项简要说明

engdebug版本

user:release版本

userDebug版本:部分debug版本

2、详细介绍

Android源码编译选项eng、user、userdebug是由Android.mk文件中的LOCAL_MODULE_TAGS配置项来决定的。其一般形式如下:

[html] view plaincopy在CODE上查看代码片派生到我的代码片
  1. LOCAL_MODULE_TAGS :user eng optional test  
各项具体说明如下:

    1user:只有在user版本时该模块才被编译进去;

    2eng:只有在eng版本时该模块才被编译进去;

    3test:只有在tests版本时该模块才被编译进去;

    4optional:在所有版本中都编译该模块进去。

    其中的值可设置为1个或多个,分别对应编译选项的同一个或多个。

eng、user、userdebug的区别如下:

   1、当make eng时,也即相当于make。此时BuildTypeeng,那么其编译进去的内容包括:

      ·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时,此时BuildTypeuser,那么其编译进去的内容包括:

      ·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时,此时BuildTypeuserdebug,那么其编译进去的内容包括:

       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.




0 0