有一些构建问题。
有一个需要minSDK:23的库,而我仍要支持21。
解决方案
<uses-sdk
android:minSdkVersion="21"
tools:overrideLibrary="a.rogue.library" />
不再sync并显示
minSdk版本不应在android清单文件中声明。您可以将版本从清单移动到build.gradle文件中的defaultConfig。 删除minSdkVersion和同步项目 受影响的模块:approot
奇怪的观察:同步失败,但是构建成功。此外,同步after构建也成功。
但是,这是不健康的情况:
overrideLibrary
行添加到清单中-它将不会同步。overrideLibrary
行-当然会建立,因为存在minSDK冲突。有什么办法解决这个问题?是否可以将OverrideLibrary驻留在build.gradle
中?
谢谢
我今天也碰到了这一点,据我所见,它是Android Gradle Plugin 4.0.0
版本的一部分(我仍在寻找参考),尽管它看起来令人沮丧首先,我认为这是正确的做法,因为它实际上避免了一些潜在的运行时崩溃。 (例如,当消费者调用库的API时,该API依赖于较新的SDK版本中引入的某些其他API,但无论如何我们都已强制使其更旧)
如果您负担得起,只需回到以前的稳定版本3.6.3
,现在就可以了,但是库开发人员选择minimumSdkVersion
是有原因的。也许可以与他们联系,以阐明其背后的理由并寻求建议。祝你好运!