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


    Android编译选项eng、user、userdebug的区别
    https://www.xuebuyuan.com/1408769.html

    Android编译选项中eng、user、user-debug主要区别
    https://blog.csdn.net/yanghanxing110/article/details/77721007

    eng、user、userdebug区别简述
    https://blog.csdn.net/dearsq/article/details/52589376


    useruserdebugeng
    仅安装标签为 user 的模块 安装标签为 user、debug 的模块 安装标签为 user、debug、eng 的模块
    设定属性 ro.secure=1,打开安全检查功能 设定属性 ro.secure=1,打开安全检查功能 设定属性 ro.secure=0,关闭安全检查功能
    设定属性 ro.debuggable=0,关闭应用调试功能 设定属性 ro.debuggable=1,启用应用调试功能 设定属性 ro.debuggable=1,启用应用调试功能
        设定属性 ro.kernel.android.checkjni=1,启用 JNI 调用检查
    默认关闭 adb 功能 默认打开 adb 功能 默认打开 adb 功能
    打开 Proguard 混淆器 打开 Proguard 混淆器 关闭 Proguard 混淆器
    打开 DEXPREOPT 预先编译优化 打开 DEXPREOPT 预先编译优化 关闭 DEXPREOPT 预先编译优化

    如果目标构建变体为 user,则 adb 无法获取 root 权限。


    eng:debug 版本

    user: release 版本

    userDebug版本:部分debug版本

        要了解Android编译选项eng、user和userdebug的区别,需先了解下LOCAL_MODULE_TAGS这一Android.mk文件里的配置项,一般配置形式为LOCAL_MODULE_TAGS := user eng optional test这个样子。
        那么LOCAL_MODULE_TAGS设置为不同值有何作用呢?下面是对应不同值编译的结果:
        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 tagged APKs
          · 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 for APK modules)
          · Sets ro.secure=1
          · Sets ro.debuggable=0
          · adbd is disabled by default
        3、当make userdebug时,此时BuildType为userdebug,那么其编译进去的内容包括:
           the same as user, except:
          · Intended for limited debugging
          · Installs modules tagged with debug
          · Sets ro.debuggable=1
          · adbd is enabled by default 
        参考网址:https://hi.baidu.com/aokikyon/item/194b9bd9a6188ef593a9740e
                  http://www.rosoo.net/a/201108/14878.html
                  http://www.cnblogs.com/mr-raptor/archive/2012/06/07/2540359.html
  • 相关阅读:
    javascript大神修炼记(5)——OOP思想(封装)
    javascript大神修炼记(4)——循环
    javascript大神修炼记(3)——条件分支
    javascript大神修炼记(2)——运算符
    javascript大神修炼记(1)——入门介绍
    07 PB12.5版本的WEBSERVICE部署指南
    06 DW.NET在C#中应用的特殊注意事项
    分享一款html5实现图片生成多种尺寸手机封面
    cordova打包时执行到:processArmv7DebugResources时报错
    Video标签的playsinline属性
  • 原文地址:https://www.cnblogs.com/bluestorm/p/11125055.html
Copyright © 2020-2023  润新知