我有一个使用Android库的Android应用程序。该库是GitHub上一个相当大的开源项目,其作者将工件发布到Bintray。我可以在应用程序的dependencies { implementation 'group:artifact:version' }
中使用常规语法build.gradle
指定依赖项。
现在,我想更改库中的一些代码。我git clone
在我的机器上,进行更改,然后构建库。但是如何告诉我的应用使用本地构建的库,而不是Bintray中的库?
我不想遵循Gradle Local Project Dependency中的方法,因为这意味着库代码现在已成为应用程序项目的一部分,但是我真的想将它们分开。
我认为该解决方案涉及发布到本地Maven存储库。我按照https://proandroiddev.com/tip-work-with-third-party-projects-locally-with-gradle-961d6c9efb02的指南进行操作,但应用程序的Gradle仍在从Bintray提取原始库。
答案 0 :(得分:0)
基于Bintray的项目具有install
任务。那就是要使用的那个,而不是publishToMavenLocal
。
使用install
时,在发布到本地存储库之前,工件版本会自动设置为X.X.X
。因此,为了使应用能够提取本地库,您必须将implementation
行编辑为group:artifact:X.X.X
。
按照指南https://proandroiddev.com/tip-work-with-third-party-projects-locally-with-gradle-961d6c9efb02的建议,您还需要将mavenLocal()
添加为应用程序顶层repositories
中build.gradle
部分中的第一项。 / p>