当前位置:首页 > 谈天说地

Android Gradle模块依赖替换使用技巧

34资源网2022-06-25717

背景

我们在多模块项目开发过程中,会遇到这样的场景,工程里依赖了一个自己的或者其他同事的 aar 模块,有时候为了开发调试方便,经常会把 aar 改为本地源码依赖,开发完毕并提交的时候,会再修改回 aar 依赖,这样就会很不方便,开发流程图示如下:

解决

一开始我们通过在 app 的 build.gradle 里的 dependency 判断如果是需要本地依赖的 aar,就替换为 implementation project 依赖,伪代码如下:

dependencies {
    if(enablelocalmodule) {
        implementation 'custom:test:0.0.1'
    } else {
        implementation project(path: ':test')
    }
}

这样就可以不用每次提交代码还要修改回 aar 依赖,但是如果其他模块如果也依赖了该 aar 模块,就会出现问题,虽然可以继续修改其他模块里的依赖方式,但是这样就会有侵入性,而且不能彻底解决问题,仍然有可能出现本地依赖和 aar 依赖的代码不一致问题。

gradle 官方针对这种场景提供了更好的解决方式 dependencysubstitution,使用方式如下:

步骤1:

在 settting.gradle,添加如下代码:

// 加载本地 module
if (file("local.properties").exists()) {
    def properties = new properties()
    def inputstream = file("local.properties").newdatainputstream()
    properties.load( inputstream )
    def modulename = properties.getproperty("modulename")
    def modulepath = properties.getproperty("modulepath")
    if (modulename != null && modulepath != null) {
        include modulename
        project(modulename).projectdir = file(modulepath)
    }
}

步骤2:

在 app 的 build.gradle 添加以下代码

configurations.all {
    resolutionstrategy.dependencysubstitution.all { dependencysubstitution dependency ->
        // use local module
        if (dependency.requested instanceof modulecomponentselector && dependency.requested.group == "custom") {
            def targetproject = findproject(":test")
            if (targetproject != null) {
                dependency.usetarget targetproject
            }
        }
    }
}

步骤3:

在 local.properties 里

modulename=:test
modulepath=../androidstudioprojects/testproject/testmodule

到这里就大功告成了,后续只需要在 local.properties 里开启和关闭,即可实现 aar 模块本地依赖调试,提交代码也不用去手动修改回 aar 依赖。

以上就是android gradle模块依赖替换使用技巧的详细内容,更多关于android gradle模块依赖替换的资料请关注萬仟网其它相关文章!

版权声明:34楼发布

本文链接:https://www.34l.com/post/17999.html

分享给朋友:

相关文章

coco奶茶店加盟费大概多少钱?有哪些优势?

coco奶茶店加盟费大概多少钱?有哪些优势?

CoCo奶茶来自宝岛台湾的奶茶加盟连锁品牌,以绿色健康休闲奶茶饮品为主打的连锁机构,在中国及东南亚地区拥有众多加盟连锁店。相信很多人都想加盟这个奶茶店吧?那么,coco奶茶店加盟费大概多少钱?加盟有哪些优势呢?下面小编就详细和大家介绍下吧。…

养成良好的习惯,做一名有品位的教师

养成良好的习惯,做一名有品位的教师

陶行知先生说:“思想决定行动,行动养成习惯,习惯形成品质,品质决定命运”。最近从网上读了《影响教师一生的100个好习惯》一书,不禁对陶先生这句话有了更深刻的领悟和理解。阅读本书带给我的不仅是享受,更多的则是生活的引领,智慧的传递和方法的教授…

现在开一家vr游戏体验馆投资创业要多少钱?

现在开一家vr游戏体验馆投资创业要多少钱?

现在开一家vr游戏体验馆投资创业要多少钱?这个涉及到的东西很多,比如你的店铺开在市区还是乡下,是开在热闹地方还是比较冷清的地方,另外还要看你的店面有多大,设备有多少台,以及其他的零零碎碎加起来,就能知道开一家vr游戏体验馆需要多少钱了。…

这4类项目,投资人打死都不想投

这4类项目,投资人打死都不想投

很多创业者常感慨:明明自己的项目很好,但聊了很多投资人,却没人愿意投,这是为什么呢? 我们知道融资成功的关键,在于要让投资人看到项目的价值。这个价值,不仅仅是你的项目好就行,除了项目本身,投资人还有很多关注点,如果这些地方不“达标”,投资人…

胡静婆婆家宅曝光,豪车遍布,为胡静打破家规允许她有自住公寓

胡静婆婆家宅曝光,豪车遍布,为胡静打破家规允许她有自住公寓

原标题:胡静婆婆家宅曝光,豪车遍布,为胡静打破家规允许她有自住公寓说起胡静,你会想到《孝庄秘史》里那个英俊的女仆还会想到扮演两个人物角色的“高小琴”,胡静的《孝庄秘史》里还会想到,她的“高小琴”,她的《戏外情》中的美艳女仆还会想起扮演两个角…

联想G470怎么样换电池(联想G470详细拆卸图文教程)

联想G470怎么样换电池(联想G470详细拆卸图文教程)

一台联想G470客户描述不充电,在系统里面可以认到电池,拆机,G470修到不少了,大部分都是保护隔离第一个管子挂掉或者公共点短路,或者是CPU没供电等问题。那就测量一下保护隔离的几个管子吧,结果管子没有短路,测量充电芯片ISL6251的DC…