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

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

34资源网2022-06-25646

背景

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

解决

一开始我们通过在 appbuild.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:

appbuild.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模块依赖替换的资料请关注萬仟网其它相关文章!

看完文章,还可以扫描下面的二维码下载快手极速版领4元红包

快手极速版二维码

快手极速版新人见面礼

除了扫码领红包之外,大家还可以在快手极速版做签到,看视频,做任务,参与抽奖,邀请好友赚钱)。

邀请两个好友奖最高196元,如下图所示:

快手极速版邀请好友奖励

扫描二维码推送至手机访问。

版权声明:本文由34楼发布,如需转载请注明出处。

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

分享给朋友:

相关文章

一千元如何创业?一千元创业项目有吗?

一千元如何创业?一千元创业项目有吗?

一千元如何创业?有的人想用一千元创业,说实话,现实当中一千元根本创不了业,你买器材都不够,更别提创业了。当然,如果你在网络上面,那还是有可能创业的。因为现在网上有很多可以投资1000元左右创业的项目。下面,小编就给大家分享三个这样的创业项目…

上海11月9日又新增一名新冠病毒感染者

上海11月9日又新增一名新冠病毒感染者

上海也不太平啊,据说昨天又新增了一例,这位新冠肺炎感染者是一名51岁的男性,具体请往下看吧。…

谈2022年平衡发展策略,我们要平衡的发展

谈2022年平衡发展策略,我们要平衡的发展

2022年解决方案的第二个关键词叫平衡。我们要平衡的发展,长期的发展。你的个人生活,你的公司事业,还有国家的形势,我觉得一定要平衡的去发展,不能说我只赚钱,身体就搞垮,或者说我只赚快钱,但是不关心国家的形势。你看,密室逃脱这个行业,上周国家…

引流文案微信推广(微商引流推广文案模板)

引流文案微信推广(微商引流推广文案模板)

大家好啊!今天又跟大家分享小技巧啦~往下看↓↓↓ 首先说一下什么样的文案是引流型的?实际上,一句话是将公共域流量定向到您的私有域流量池。其目的是先引流然后慢慢进行信任激活变现。 在标题方面,通常有以下几种类型,今天为大家详细描述一下。 一…

逍遥手机模拟器怎么用(逍遥安卓模拟器详细使用教程)

逍遥手机模拟器怎么用(逍遥安卓模拟器详细使用教程)

真正的5V5公平竞技对战,传承端游纯正体验。人气英雄,经典还原;公平竞技,实力至上;峡谷传说,掌心再现。策略、战术、意识、配合,在移动端重现峡谷战场乐趣。 为了庆祝大家期待已久的中国区开服,官方也带来了五大福利活动,用户可免费参与,并获得十…

背光键盘怎么开灯(有背光和无背光的区别)

背光键盘怎么开灯(有背光和无背光的区别)

机械键盘轴体一直是以樱桃(Cherry)最受大众欢迎,但近几年国产轴体的快速发展,让很多玩家开始享受到更“廉价”的产品。作为国内外设领军者,雷柏自产的雷柏轴已经获得众多游戏爱好者的好评。雷柏同时还有采用经典樱桃轴的产品,笔者最近收到雷柏V8…