web-dev-qa-db-ja.com

androidマニフェストの統合に失敗しました、GMSプレイサービス/ firebase

FirebaseUIを使用してアプリにfirebaseを追加しようとしています。 ドキュメントにあるように、対応するgms:play-services(11.0.4)をfirebaseUIバージョン(2.2.0)で使用しています gradleファイルを同期すると、次のエラーが表示されます:

Error:Execution failed for task ':app:processDebugManifest'.
> Manifest merger failed : Attribute meta-data#Android.support.VERSION@value value=(26.0.0) from [com.Android.support:support-v13:26.0.0] AndroidManifest.xml:28:13-35
    is also present at [com.Android.support:customtabs:25.4.0] AndroidManifest.xml:25:13-35 value=(25.4.0).
    Suggestion: add 'tools:replace="Android:value"' to <meta-data> element at AndroidManifest.xml:26:9-28:38 to override.

これは私のgradleファイルです:

Android {
compileSdkVersion 26
buildToolsVersion "26.0.1"
defaultConfig {
    applicationId "com.test.test"
    minSdkVersion 21
    targetSdkVersion 25
    versionCode 1
    versionName "1.0"
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])


compile 'com.Android.support:appcompat-v7:26.0.0'
compile 'com.Android.support.constraint:constraint-layout:1.0.2'
compile 'com.Android.support:cardview-v7:26.0.0'
compile 'com.Android.support:support-v13:26.0.0'
compile 'com.Android.support:design:26.0.0'
compile 'com.Android.support:recyclerview-v7:26.0.0'

//firebase
compile 'com.google.Android.gms:play-services-auth:11.0.4'
compile 'com.google.firebase:firebase-core:11.0.4'
compile 'com.google.firebase:firebase-auth:11.0.4'
compile 'com.google.firebase:firebase-database:11.0.4'
compile 'com.google.firebase:firebase-storage:11.0.4'
compile 'com.firebaseui:firebase-ui:2.2.0'

testCompile 'junit:junit:4.12'
}

//firebase
apply plugin: 'com.google.gms.google-services'

すべてのバージョンが最新であり、すべて同じであることを確認しました。問題が何であるかわかりませんか?

21
fogx

以下を追加することで問題を解決しました。

    configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == 'com.Android.support') {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion '26.0.0'
            }
        }
    }
}

ここから

ツールチップはtools:replace = "Android:value" 'をメタデータに追加することを推奨しましたが、これは別のエラーをスローするため、上記のソリューションを使用します

47
fogx

一番下のAndroidManifest.xmlタグ内の<application>にこれを追加して解決しました。

<meta-data 
  tools:node="replace"
  Android:name="Android.support.VERSION"
  Android:value="26.1.0"  // <- The max version you see in the error message. For me it was 26.1.0
/>

次に、これらの2つの属性を<manifest ... >タグに追加します。

xmlns:tools="http://schemas.Android.com/tools"
tools:node="replace"
22
Mohebifar

これは、サポートライブラリの2つのバージョンが衝突しているために発生しています。上に、あなたは宣言しました

buildToolsVersion "26.0.1"

依存関係では、バージョンは26.0.0です

compile 'com.Android.support:design:26.0.0'

サポートライブラリのバージョンを26.0.1に変更するだけで、正常に機能します。私は同じことをしましたが、私の場合は完璧に働きました。

16
Swetabja Hazra

この行をアプリレベルのgradleファイルの最後に追加します

apply plugin: 'com.google.gms.google-services'
1
Syyam Noor

Appモジュールのbuild.gradleでの実装に同じライブラリの異なるバージョンを使用すると発生します。これは、同じバージョンのライブラリを実装することで解決できます。

それでも問題が解決しない場合は、build.gradle(app module)の最後に次のコードを追加します

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == 'com.Android.support') {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion '25.3.0'
            }
        }
    }
}
0
Nikhil Kapu

compile 'com.Android.support:appcompat-v7:26.0.0'にカーソルを合わせ、それが間違っていると言ったライブラリを手動で追加することで解決できました。

compile 'com.Android.support:cardview-v7:26.0.0'
compile 'com.Android.support:animated-vector-drawable:26.0.0'
compile 'com.Android.support:customtabs:26.0.0'
0
Mike Stratmann

この行をマニフェストに追加します

 <meta-data Android:name="com.google.Android.gms.version" Android:value="@integer/google_play_services_version"
        tools:replace="Android:value" />

「application」タグ内に示されているとおりです。

0
Sam

このタイプのエラーは、さまざまなライブラリが追加されたために発生しました。ライブラリを追加する際には、それらがすべて同じバージョンであり、互いに問題なく動作することを確認してください。

0
Sachin Kumar