最新の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
注:これは、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の回答を確認してください。
また、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バージョンを制限することは問題を解決しました。
解決策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についても同じことを繰り返します。
<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"
この問題は依然として推移的な依存関係で発生します。 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
私がリンクする対応する号を読みながら、私はこれを見つけました ここ
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.+'.
上記の正しい答えに加えて、問題はまだライブラリのネストが原因で発生する可能性があります。この場合は、以下の例のように試してください。
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'
}
cordova CLIを使用してハイブリッドアプリケーションを作成している人にとっては、このコマンドが役立ちます。
cordova build Android -- --minSdkVersion=15
はい、あなたがそれを見たようにそれは二重二重ダッシュを使います。
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レベルをダウンロードする必要があるかもしれません。
私も同じ問題を抱えていて、フォローを変更することが私を助けました:
から:
dependencies {
compile 'com.Android.support:support-v4:+'
に:
dependencies {
compile 'com.Android.support:support-v4:20.0.0'
}
build.gradle の下の行を編集して問題を解決しました。 :-)
バージョンを追加する 20. + '
から
dependencies {
compile 'com.Android.support:appcompat-v7:+'
}
に
dependencies {
compile 'com.Android.support:appcompat-v7:20.+'
}
compile('com.Android.support:support-v4:19.1.0'){
force = true
}
ここですべての解決策を作成しても結果が出ないので、別の場所を調べて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" />
あなたはbuild.gradleから削除する必要がありますcompile 'com.Android.support:support-v13:+'
これはこの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
私にとっては、このような問題は
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を選択してください
私は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:+'
}
プロジェクトの build フォルダを削除してから、gradleプロジェクトを再同期して再構築してください。また、この記事で他の人が言っているように - このようなことをする代わりに:
compile 'com.Android.support:support-v4:19.+'
これを行う:
compile 'com.Android.support:support-v4:19.1.0'
忘れないでください、あなたはあなたのプロジェクトのフォルダーではなく、あなたのプロジェクトの 'app'サブフォルダーでbuild.gradleを編集するべきです。バージョン "L"の問題を解決しようとしている仕事の日を失いました。
ありがとう@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:+'
からこれが誰かに役立つかもしれないと思います
私のために働いたのはこれだけです:
Project.propertiesで、私は変更しました:
cordova.system.library.1 = com.Android.support:support-v4:+からcordova.system.library.1 = com.Android.support:support-v4:20. +
私は第二の解決策を持っています:
https://dl.dropboxusercontent.com/u/16403954/Android-21.Zip
をsdk\platforms\
に解凍しますbuild.gradleのように変更
compileSdkVersion 21
buildToolsVersion "20.0.0"
defaultConfig {
applicationId "package.name"
minSdkVersion 10
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
追加する
<uses-sdk tools:node="replace" />
マニフェストではxmlns:tools="schemas.Android.com/tools"
;
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あなたはこれを必要とするすべてのサポートライブラリで行うことができます。
最小APIレベルをBuild Settings -> Player Settings -> Other Settings -> Minimum SDK Level
からそれより高いバージョンに変更するだけです。
必要なminSdkVersion
をターゲットにするだけです。つまり、必要なものに変更します。私の場合、minSdkVersion
は14
でした。
minSdkVersion
16
に変更すると問題が解決しました
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"
}
解決策:マニフェストのマージに失敗しました属性application @ ppComponentFactory ...
最新の最高のFirebaseライブラリまたは他のライブラリを使用している場合、それらは実際にAndroid.supportではなくAndroidXを使用している場合、マニフェストのマージが失敗したために問題が発生する可能性があります!!したがって、この場合、プロジェクトをAndroidXに移行する必要があります。リンクをたどってください: https://firebase.google.com/support/release-notes/Android#update_-_june_17_2019
または、このビデオをご覧ください。 https://youtu.be/RgveQ4AY1L8 ありがとう。
最善の方法は、Android Studioに問題を解決させることです。
私は以下をしました、そして、それはうまくいきました。
それをクリックしてそれを修正するために与えられたリンクがある場合は、Android Studioでプロジェクトを開くと、エラーがポップアップ表示されます。
Android Studioでプロジェクトを再度開くと、エラーがポップアップ表示されます。ステップ1で表示されていない場合は、今回はリンクが表示されます。表示されたリンクをクリックして修正します。
どちらの操作にも数分かかりましたが、すべての問題は解決しました。