web-dev-qa-db-ja.com

マニフェストの統合に失敗しました:uses-sdk:minSdkVersion 14

最新のSDKをダウンロードしてAndroid Studioをインストールしてから、私のプロジェクトはビルドに失敗します。次のようなメッセージが表示されます。

Error:Gradle: Execution failed for task ':SampleProject:processProdDebugManifest'.
> Manifest merger failed : uses-sdk:minSdkVersion 14 cannot be smaller than version L declared in library com.Android.support:support-v4:21.0.0-rc1
229
loeschg

注:これは、API 21、Lollipopのリリースを反映するように更新されました。必ず最新のSDKをダウンロードしてください。

私のモジュールの1つでは、build.gradleに次のものがありました。

dependencies {
    compile 'com.Android.support:support-v4:+'
}

これをに変更

dependencies {
    // do not use dynamic updating.
    compile 'com.Android.support:support-v4:21.0.0' 
}

問題を修正しました。

プロジェクトのどこにいても、com.Android.support:support-v4:+やその他のサポートライブラリ(v7、v13、appcompatなど)を一般的にインクルードしていないことを確認してください。

私の問題はv4:+が リリース候補(21.0.0-rc1) 明らかにL SDKを必要とする最新のLリリース。

編集:

新しいビュー(CardView、RecyclerView、およびPalette)を使用する必要がある場合は、次のようにします。

compile "com.Android.support:cardview-v7:21.0.0"
compile "com.Android.support:recyclerview-v7:21.0.0"
compile "com.Android.support:palette-v7:21.0.0"

(/ androiddevのEddieRingleへのクレジット - http://www.reddit.com/r/androiddev/comments/297xli/howto_use_the_v21_support_libs_on_older_versions/ /)

もうひとつの編集

Appcompat-v7に関する@ murtuzaの回答を確認してください。

312
loeschg

また、appcompat-v7ライブラリをインポートしている場合は、最後にバージョン番号をタグ付けしてください。

compile 'com.Android.support:support-v4:19.+'
compile 'com.Android.support:appcompat-v7:19.+'

Support-v4のバージョンを変更しただけで、まだエラーが発生しました。

マニフェストの統合に失敗しました:uses-sdk:minSdkVersion 15は、ライブラリcom.Android.support:support-v4:21.0.0-rc1で宣言されているバージョンLより小さくすることはできません

それはv4がまだ問題であるように見えるのでそれは少し混乱しました、しかし、実際には、appcompat v7バージョンを制限することは問題を解決しました。

69
murtuza

解決策1:

Uses-sdkを<uses-sdk tools:node="replace" />に変更し、xmlns:tools="http://schemas.Android.com/tools"AndroidManifest.xmlを追加します。

 <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
    xmlns:tools="http://schemas.Android.com/tools"
    package="com.demo.Android"
    Android:versionCode="16"
    Android:versionName="3.3.1">
    .
    .
    <uses-sdk tools:node="replace" />
    .
    .
</manifest>

Manifestの合併を使用するには、必ずグレード0.11以上を使用してください。

解決策2:

  • compile 'com.Android.support:support-v4:+'compile 'com.Android.support:support-v4:20.+'build.gradleに変更します。これはgradleがバージョンLを必要とするv4:21.0.0を使うことを防ぎます。

  • ただし、外部の依存関係のいずれかで同じものが使用されている場合。あなたはおそらくそれらが同じものを更新するのを待たなければならないでしょう。

解決策3:

  • ファイルから<version>21.0.0-rc1</version>を削除する/ <Android-sdk>/extras/Android/m2repository/com/Android/support-v4/maven-metadata.xml

  • Support-v7についても同じことを繰り返します。

54
Gaurav Arora
<uses-sdk tools:node="replace" />

もう動作しません。

uses-sdkをに変更します

<uses-sdk tools:overrideLibrary="com.packagename.of.libary.with.conflict" />

そして追加
AndroidManifest.xmlファイルの xmlns:tools="http://schemas.Android.com/tools"

20
userM1433372

この問題は依然として推移的な依存関係で発生します。 Gradleは依存関係の特定のバージョンの使用を強制する方法を提供します。

たとえば、次のようなものを追加できます。

configurations.all {
    resolutionStrategy {
        force 'com.Android.support:support-v4:20.+'
        force 'com.Android.support:appcompat-v7:20.+'
    }
}

あなたのbuild.gradleに。

グラドル解決戦略についてもっと知りたい場合は、このガイドを参照してください http://www.gradle.org/docs/current/dsl/org.gradle.api.artifacts.ResolutionStrategy.html

私がリンクする対応する号を読みながら、私はこれを見つけました ここ

11
koesclem

Build.gradleファイルでは、デフォルトで 'com.Android.support:support-v4:+'をコンパイルしていましたので、gradleプロジェクトを構築するときには、com.Android.support:support-v4:21.0.0-rc1を検討してください最近のL開発者向けプレビューリリースのためです。

次の行を変更すると問題が解決します。変化する

compile 'com.Android.support:support-v4:+' 

compile 'com.Android.support:support-v4:20.+'

同様に、v7-appcompatサポートライブラリを使用している場合は、

compile 'com.Android.support:appcompat-v7:+'

compile 'com.Android.support:appcompat-v7:20.+'.
8
Bhargav Jhaveri

上記の正しい答えに加えて、問題はまだライブラリのネストが原因で発生する可能性があります。この場合は、以下の例のように試してください。

compile 'com.Android.support:support-v4:20.+'
compile ('com.github.chrisbanes.actionbarpulltorefresh:extra-abs:+') { // example
    exclude group: 'com.Android.support', module:'support-v4'
    exclude group: 'com.Android.support', module:'appcompat-v7'
}
8

cordova CLIを使用してハイブリッドアプリケーションを作成している人にとっては、このコマンドが役立ちます。

cordova build Android -- --minSdkVersion=15

はい、あなたがそれを見たようにそれは二重二重ダッシュを使います。

7
ProllyGeek

Android Studio betaでこの問題に直面している人のために、受け入れられた答えは私の問題を解決しませんでした。 GitHubからダウンロードしたプロジェクトをインポートして、私は問題のエラーを与えてアプリの私のbuild.gradleファイルに次のものがありました:

 dependencies {
    compile 'com.Android.support:support-v4:+'
}

しかし、私の外部ライブラリフォルダには、このフォルダがあります。

support-v4-21.0.0-rc1 //note the 21

依存関係を次のように変更することで、上記の問題を解決しました。

dependencies {
compile 'com.Android.support:support-v4:20.+' //20 used less than available strange but works
}

注:これが正しく機能するためには、いくつかのライブラリーおよびプロジェクトについて、現在Android Studioで入手可能なレベルより低いAPIレベルをダウンロードする必要があるかもしれません。

6

私も同じ問題を抱えていて、フォローを変更することが私を助けました:

から:

dependencies {
    compile 'com.Android.support:support-v4:+'

に:

dependencies {
 compile 'com.Android.support:support-v4:20.0.0'
}
6
min2bro

build.gradle の下の行を編集して問題を解決しました。 :-)

バージョンを追加する 20. + '

から

 dependencies {
        compile 'com.Android.support:appcompat-v7:+'
    }

dependencies {
    compile 'com.Android.support:appcompat-v7:20.+'
}
5
compile('com.Android.support:support-v4:19.1.0'){
    force = true
}

こちら

5
Lina Shyshova

ここですべての解決策を作成しても結果が出ないので、別の場所を調べてIDEをトリックする方法を見つけました。Gainleで異なる方法を使用するには、Mainfestに次の行を追加する必要があります。あなたはbuild.gradleを次の行に置きます。

<uses-sdk tools:node="replace" />

それだけで、それはうまくいきます。

助けになれば幸いです。

すべてのサポートライブラリとappcompatライブラリをバージョン19で設定する必要があります。+

サポートライブラリを19. +バージョンのままにしておくという推奨が機能しない場合は、AndroidManifestファイルで次のヒントを試すことができます。

まずこのコードを追加します。

xmlns:tools="http://schemas.Android.com/tools"

そして、アプリケーションレベルで(アプリケーション内ではありません!)

<uses-sdk tools:node="replace" />
4
Aracem

あなたはbuild.gradleから削除する必要がありますcompile 'com.Android.support:support-v13:+'

3
Igor Kostenko

これはこのbtwのために提出された新しいバグです https://code.google.com/p/Android/issues/detail?id = 72430

Support Repositoryを使用していると仮定した場合の回避策は、その行にコメントを付けるか削除することです。

/extras/Android/m2repository/com/Android/support-v4/maven-metadata.xmlにあるローカルのMavenリポジトリリストファイルの21.0.0-rc1

3
LemonGentry

私にとっては、このような問題は

minSdkVersion 14

Build.gladdleファイルで、エラーメッセージで指定されているファイルを使用します。

しかし問題は

Manifest merger failed : uses-sdk:minSdkVersion 14 cannot be smaller than version 15 declared in library

だから私はbuild.gladdleファイルの14から15に変更してそれは動作します

試してみる。

Android Studio 1.1.0の場合:ファイル - プロジェクトの構造 - タブの風味 - マニフェストよりも高いMin SDK Versionを選択してください

0
ea_

私はL.MR1(SDKv22)をターゲットにすることを好むいくつかのプロジェクトと私がKK(SDKv19)を好むことをいくつかのプロジェクトがあります。あなたの結果は異なるかもしれませんが、これは私のために働いた。

// Targeting L.MR1 (Android 5.1), SDK 22
Android {
    compileSdkVersion 22
    buildToolsVersion "22"

    defaultConfig {
        minSdkVersion 9
        targetSdkVersion 22
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])

    // google support libraries (22)
    compile 'com.Android.support:support-v4:22.0.0'
    compile 'com.Android.support:appcompat-v7:22.0.0'
    compile 'com.Android.support:cardview-v7:21.0.3'
    compile 'com.Android.support:recyclerview-v7:21.0.3'
}



// Targeting KK (Android 4.4.x), SDK 19
Android {
    compileSdkVersion 19
    buildToolsVersion "19.1"

    defaultConfig {
        minSdkVersion 9
        targetSdkVersion 19
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])

    // google libraries (19)
    compile 'com.Android.support:support-v4:19.1+'
    compile 'com.Android.support:appcompat-v7:19.1+'
    compile 'com.Android.support:cardview-v7:+'
    compile 'com.Android.support:recyclerview-v7:+'
}
0
AG1

プロジェクトの build フォルダを削除してから、gradleプロジェクトを再同期して再構築してください。また、この記事で他の人が言っているように - このようなことをする代わりに:

compile 'com.Android.support:support-v4:19.+'

これを行う:

compile 'com.Android.support:support-v4:19.1.0'
0
IgorGanapolsky

忘れないでください、あなたはあなたのプロジェクトのフォルダーではなく、あなたのプロジェクトの 'app'サブフォルダーでbuild.gradleを編集するべきです。バージョン "L"の問題を解決しようとしている仕事の日を失いました。

0
CoolMind

ありがとう@Murtuza。あなたの答えは私の問題を解決するのに役立ちましたが、私の場合

compile 'com.Android.support:support-v13:19.+も一緒に

compile 'com.Android.support:support-v4:19.+' compile 'com.Android.support:appcompat-v7:19.+'

compile 'com.Android.support:support-v4:+' compile 'com.Android.support:support-v7:+' compile 'com.Android.support:support-v13:+'からこれが誰かに役立つかもしれないと思います

0
Deepthi

私のために働いたのはこれだけです:

Project.propertiesで、私は変更しました:

cordova.system.library.1 = com.Android.support:support-v4:+からcordova.system.library.1 = com.Android.support:support-v4:20. +

0
abelabbesnabi

私は第二の解決策を持っています:

  1. https://dl.dropboxusercontent.com/u/16403954/Android-21.Zipsdk\platforms\に解凍します
  2. build.gradleのように変更

    compileSdkVersion 21
    buildToolsVersion "20.0.0"
    
    defaultConfig {
        applicationId "package.name"
        minSdkVersion 10
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    
  3. 追加する

    <uses-sdk tools:node="replace" /> 
    

    マニフェストではxmlns:tools="schemas.Android.com/tools";

  4. sdk\extras\Android\m2repository\com\Android\support\support-v4\21.0.0-rc1\に行く

解凍 support-v4-21.0.0-rc1.aar and /の編集 AndroidManifest.xml like

から

<uses-sdk
        Android:minSdkVersion="L"
        Android:targetSdkVersion="L" />

<uses-sdk
        Android:minSdkVersion="4"
        Android:targetSdkVersion="21" />

P.Sあなたはこれを必要とするすべてのサポートライブラリで行うことができます。

0
Vova K.

最小APIレベルをBuild Settings -> Player Settings -> Other Settings -> Minimum SDK Levelからそれより高いバージョンに変更するだけです。

0
Codemaker

必要なminSdkVersionをターゲットにするだけです。つまり、必要なものに変更します。私の場合、minSdkVersion14でした。

minSdkVersion16に変更すると問題が解決しました

compileSdkVersion 29
    defaultConfig {
        applicationId "e.futaaapp"
        minSdkVersion 14
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

compileSdkVersion 29
    defaultConfig {
        applicationId "e.futaaapp"
        minSdkVersion 16
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
0
Kim

解決策:マニフェストのマージに失敗しました属性application @ ppComponentFactory ...

最新の最高のFirebaseライブラリまたは他のライブラリを使用している場合、それらは実際にAndroid.supportではなくAndroidXを使用している場合、マニフェストのマージが失敗したために問題が発生する可能性があります!!したがって、この場合、プロジェクトをAndroidXに移行する必要があります。リンクをたどってください: https://firebase.google.com/support/release-notes/Android#update_-_june_17_2019

または、このビデオをご覧ください。 https://youtu.be/RgveQ4AY1L8 ありがとう。

0
Subhojit Halder

最善の方法は、Android Studioに問題を解決させることです。

私は以下をしました、そして、それはうまくいきました。

  1. それをクリックしてそれを修正するために与えられたリンクがある場合は、Android Studioでプロジェクトを開くと、エラーがポップアップ表示されます。

  2. Android Studioでプロジェクトを再度開くと、エラーがポップアップ表示されます。ステップ1で表示されていない場合は、今回はリンクが表示されます。表示されたリンクをクリックして修正します。

どちらの操作にも数分かかりましたが、すべての問題は解決しました。