【写给自己】项目组件化,修改远程依赖库的流程,特殊情况处理。
特殊情况除了第一种正常的单层依赖。可能你项目依赖一个库A,那个库A内部还依赖另一个库B。如果不跑单元你想在项目中直接修改库B这种情况怎么处理? 处理方案: 2:在项目的setting.grade文件中,进行PullToRefresh库的源码引入 include ‘:PullToRefresh’ ***3:这时候因为PullToRefresh库是库B依赖的库,不能直接源码引入项目A中,所以要做如下操作。 compile 'com.beibei.android:ProjectC:1.0.2'
compile 'com.beibei.android:ProjectD:1.0.0'
// compile 'com.beibei.android:PullToRefresh:1.0.6'
compile project(':PullToRefresh')
改完dependencies,下一步为了解决重复引用的问题,需要修改build.grade中的configurations文件 configurations {
provided
all*.exclude group: 'com.beibei.android',module: 'PullToRefresh'
}
这个的意思是取消依赖库中的依赖。就是取消库B中,对于com.beibei.android.PullToRefresh的依赖。这样就能成功的跑起来了。 4:这样就能本地修改代码了。改好需求后,测试完毕代码没有问题后,按日常的git流程,提交到PullToRefresh对应分支中。 5:改对应的PullToRefresh的Module的版本号 uploadArchives {
repositories {
mavenDeployer {
repository(url: "string" authentication(userName: "string",password: "string")
}
pom.project {
packaging 'aar'
groupId 'com.beibei.android'
artifactId 'PullToRefresh' //LibA
version '1.0.7' //改版本号从1.0.6升级成1.0.7
}
}
}
6:上传到repository仓库中,进入对应项目的目录中运行gradle脚本 //uploadArchives
grade clean upload
7:大功告成,到需要引用PullToRefresh工程的中,修改build.gradle中的引入代码,记得提升版本号。 compile 'com.beibei.android:PullToRefresh:1.0.7'//版本号升级到1.0.7拉取到对应版本的代码。
// compile project(':PullToRefresh')
好了特殊情况也处理好了。牢记 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |