如何在Android Studio中忽略库的minSdkVersion?

时间:2014-12-06 20:03:08

标签: android android-studio android-gradle android-min-sdk

在我的项目minSdkVersion = 10中,在图书馆中它是11。

我明白了:

BUILD_FAILED - Manifest merger failed : uses-sdk:minSdkVersion 10 cannot be smaller than version 11 declared in library.

如何忽略库的minSdkVersion?

2 个答案:

答案 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
}