我正在开发一个Android库作为.aar,我遇到了这个问题:
使用直接依赖关系的主机应用程序版本1 并依赖于我的库使用依赖A版本2.
在构建主机应用程序时,Gradle将在默认情况下解析为更高版本。 此解析将导致主机应用程序构建的构建失败,以防依赖关系版本2不向后兼容。
有没有办法在Android中捆绑Android库的依赖关系A版本1,以便在运行时版本2可用?
答案 0 :(得分:0)
如果您不希望将项目的传递依赖项带入项目,则需要将transitive
标志设置为false。
您的依赖树目前看起来像这样:
app
\- libA:1.0
\- yourLibrary
\- libA:2.0
由于您的应用依赖于库的1.0版本,因此您不希望在应用中使用2.0版。版本2.0是库的传递依赖项,因此在这种情况下,以下Gradle依赖项将阻止Gradle从库中提取libA:2.0
:
compile('com.example:yourLibrary:1.0.0') {
transitive = false
}