Android user编译版本 默认打开adb及关闭adb设备认证

Android编译有3种方式:

  1. eng
  2. userdebug
  3. user

 

三种编译方式的不同,这里暂不做具体描述,但可以告诉大家如何去了解这三种编译方式产生的区别:

在source build/envsetup.sh   lunch xx之后,会将变量TARGET_BUILD_VARIANT赋值为eng或者userdebug或者user

然后你就可以在build目录下去grep TARGET_BUILD_VARIANT这个变量的使用情况,从而分析出这三种编译方式的区别

(注:想学习android编译原理的同学,可以仔细学习build目录,鼓励自己学习源代码)

 

 好了,开始正题,我们知道通常正式发布的android产品,如果你想使用adb来连接设备,那么需要进入开发者选项中打开允许adb调试的开关,那么你才能进行adb连接的,那么如果某种特殊的需求出现在你面前,“我们不想提供开发者选项,而且将有大批量的设备需要在user模式下进行测试“,这时你会想到的就是,那我把adb默认打开吧

 

打开方式如下:

打开build/make/core/main.mk文件

1,找到

ifeq($(user_variant),user)

    ADDITIONAL_DEFAULT_PROPERTIES += ro.adb.secure=1        ===>改成0

endif

 

2,找到

ifeq (true,$(strip $(enable_target_debugging)))

    xxxxxxxxxxxxxx

else

    ADDITIONAL_DEFAULT_PROPERTIES += ro.debuggable=0        ===>改成1

endif

修改上述两处地方后,再编译user版本的image,adb就是默认可以使用的了,也不需要设备验证

 

如果你对上面的两处修改做研究的话,就会发现其实真正影响adb的就是persist.sys.usb.config和ro.adb.secure这两个属性

然后你就可以从源码中这两个属性的使用来学习adb这个东东了,再具体点的我就不多说了,欢迎大家学习源代码后与我一起讨论,加油!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值