问题描述
在AndroidStudio项目中,为避免重复造轮子,经常需要引入一些依赖库,但有时候引入的依赖库比项目minSdkVersion还要高,此时项目会无法编译成功,报出以下error。
Manifest merger failed : uses-sdk:minSdkVersion 19 cannot be smaller than version 24 declared in library [:sdk-release:] /Users/dvlee/.gradle/caches/transforms-2/files-2.1/5c4b5f1d6ae801e31789a46703d1d014/sdk-release/AndroidManifest.xml as the library might be using APIs not available in 19
Suggestion: use a compatible library with a minSdk of at most 19,
or increase this project's minSdk version to at least 24,
or use tools:overrideLibrary="cn.hidavid.lecelib" to force usage (may lead to runtime failures)
其实在error中已经很清楚的说明的解决方案了,下面我再描述一下。
处理方法
在项目AndroidManifest中添加
<uses-sdk tools:overrideLibrary="cn.hidavid.lecelib"/>
若项目中存在多个这样的依赖库,可以用逗号隔开包名,如:
<uses-sdk tools:overrideLibrary="cn.hidavid.lecelib,cn.hidavid.haha,cn.hidavid.hehe"/>