Android编译选项中eng、user、user-debug区别

 

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 预先编译优化

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

LOCAL_MODULE_TAGS := user eng optional test

模块定义中,模块可以通过 LOCAL_MODULE_TAGS 指定标记,这些标记可以是以下一个或多个值:optional(默认)、debug、eng。

1、如果某个模块通过 LOCAL_MODULE_TAGS 指定标记,标记默认为 eng。仅当编译选项为eng时,系统才会安装该模块。

2、如果某个模块通过 LOCAL_MODULE_TAGS 指定标记,标记默认为 debug。仅当编译选项为eng/user-debug时,系统才会安装该模块。

3、如果某个模块没有通过 LOCAL_MODULE_TAGS 指定标记,则其标记默认为 optional。仅当 PRODUCT_PACKAGES 的产品配置需要可选模块时,系统才会安装可选模块。

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

eng:debug 版本

user: release 版本

userDebug版本:部分debug版本

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值