在我的项目minSdkVersion = 10中,在图书馆中它是11。
我明白了:
BUILD_FAILED - Manifest merger failed : uses-sdk:minSdkVersion 10 cannot be smaller than version 11 declared in library.
如何忽略库的minSdkVersion?
答案 0 :(得分:21)
您需要将项目更改为库的值11
,因为该属性意味着该库设计为至少使用API 11的设备。它根本不支持API 10,因此您不能根据需求和项目的最小SDK使用它。查看有关< uses-sdk >
或
找到另一个支持API 10的库
更新:
或
使用ManifestMerger的力量。来自官方site。
段落 标记
工具:overrideLibrary标记
一个特殊的标记,只能与uses-sdk声明一起使用,以覆盖导入最低SDK版本比该应用程序的最低SDK版本更新的库。 没有这样的标记,清单合并将失败。该标记将允许用户选择可以导入哪些库而忽略最低SDK版本。
示例,在主要的android清单中:
<uses-sdk android:targetSdkVersion="14" android:minSdkVersion="2"
tools:overrideLibrary="com.example.lib1, com.example.lib2"/>
将允许导入具有以下清单的库而不会出现错误:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.lib1">
<uses-sdk android:minSdkVersion="4" />
</manifest>
答案 1 :(得分:4)
你必须在你的清单文件中声明如下
<uses-sdk tools:overrideLibrary="com.example.android" />
并且不要忘记安全使用库,例如:
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
//your code here
}