17

私のプロジェクトでは minSdkVersion = 10、ライブラリでは 11 です。

私は得る:

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

ライブラリのminSdkVersionを無視するには?

4

2 に答える 2

34

プロジェクトを library's value に変更する必要があります。11この属性は、ライブラリが少なくとも API 11 を搭載したデバイスで使用されるように設計されていることを意味するためです。API 10 をまったくサポートしていないため、要件と最小限の SDK に従って使用することはできません。あなたのプロジェクト。< uses-sdk > の詳細を見る

また

API 10 をサポートする別のライブラリを探す

アップデート:

また

ManifestMerger の機能を使用します。公式サイトより

段落マーカー

ツール:overrideLibrary マーカー

最小 SDK バージョンがそのアプリケーションの最小 SDK バージョンよりも新しいライブラリのインポートをオーバーライドするために uses-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>
于 2014-12-06T21:22:07.267 に答える