如何解决如何在应用程序中有条件地选择模块依赖性或源代码?
在android应用中,它具有一个lib模块(lib-module
),该模块可以由其他应用或lib使用。在此应用中,它使用此lib模块,但直接使用代码:
include ':app',':lib-module'
project(':lib-module').projectDir = new File(settingsDir,'libModule')
在某些情况下,其他lib / sdk正在使用此lib-module
(在此处称为third-rd-lib
),因此third-rd-lib
依赖于已发布的{{1} }。
,并且此lib-module
也依赖于该app
。现在在third-rd-lib
中,如果app
使用的是lib-module
的发行版,而third-rd-lib
的代码可能与{ {1}}的{{1}}。
问题,应用程序中是否可以配置构建,以便可以使用lib-module
的源代码或依赖于已发布的app
的版本来构建?
更新问题
实际上我很困惑。当同时存在
lib-module
和
lib-module
然后在运行应用程序时,将加载依赖项lib-module
中的代码还是加载include ':app','libModule')
中的implementation "com.android.lib:third-rd-lib:x.y.z"
// which has dependency on the lib-module:1.2.0
的源代码?
解决方法
configurations.all {
resolutionStrategy.dependencySubstitution {
substitute module('com.android.app:lib-module') with project(':lib-module')
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。