解决Android项目中调用高于minSdkVersion版本的依赖库lib/sdk/api导致无法编译成功的问题

问题描述

在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"/>

猜你喜欢

转载自blog.csdn.net/killfunst/article/details/110356872