我正在开发一个Android库,该库依赖于
目前我的做法是:
appcompat-v7
。我的消费者也依赖于appcompat-v7
。当发布到Maven仓库时,我应该如何最正确地公开我的appcompat依赖关系?目前我的做法是:
- 将
appcompat-v7
依赖项列为库的implementation
依赖项 - 使用android-maven-publish发布POM文件,这会导致依赖关系被列在"runtime"作用域下
v27.0.0优先于v26.1.0,导致编译错误(因为Fragment签名已更改)。
是否可以通过不同的库配置来避免这种情况,或者这应该是结果?我是否错误地认为库和消费应用程序中应允许使用不同版本的appcompat库?我是否应该发布多个二进制文件,每个二进制文件针对支持库的不同版本进行编译,以满足任何给定的消费者设置?