web-dev-qa-db-ja.com

複数のdexファイルがLcom / google / Android / gms / internal / zzauを定義します

エラーが表示されるcom.Android.dex.DexException: Multiple dex files define Lcom/google/Android/gms/internal/zzau;アプリを実行するとき、gradleファイルは

app.gradle

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.Android.support:support-v4:21.0.3'
compile 'com.Android.support:appcompat-v7:21.0.3'
compile 'com.Android.support:recyclerview-v7:21.0.0'
compile 'com.Android.support:cardview-v7:21.0.0'
compile 'com.google.Android.gms:play-services:7.0.+'
compile 'com.Android.support:mediarouter-v7:21.0.3'
compile 'com.squareup:otto:1.3.5'
compile 'com.squareup.picasso:picasso:2.3.4'
compile 'com.squareup.okhttp:okhttp:2.2.0'
compile 'com.squareup.okhttp:okhttp-urlconnection:2.2.0'
compile 'com.squareup.retrofit:retrofit:1.9.0'
compile 'com.github.ksoichiro:Android-observablescrollview:1.4.0'
compile 'com.astuetz:pagerslidingtabstrip:1.0.1'
compile 'com.facebook.Android:facebook-Android-sdk:4.1.0'
compile 'com.parse.bolts:bolts-Android:1.+'
compile 'com.edmodo:rangebar:1.0.0'
compile 'com.melnykov:floatingactionbutton:1.3.0'
compile project(':library_viewpager')
compile project(':androidHorizontalListView')
compile project(':CastCompanionLibrary')
compile project(':mobihelp_sdk_Android_v1.4')
compile fileTree(include: 'Parse-*.jar', dir: 'libs')
compile files('libs/Parse-1.9.2.jar')
compile files('libs/GoogleConversionTrackingSdk-2.2.2.jar')
}

CastCompanionLibrary

dependencies {
compile 'com.Android.support:appcompat-v7:22.+'
compile 'com.Android.support:mediarouter-v7:22.+'
compile 'com.google.Android.gms:play-services-cast:7.5.0'
}

どうすれば修正できますか?モジュールとアプリの両方でGoogle Playサービスを使用しているため、エラーが発生したと思います。しかし、バージョンは異なります。それが問題の原因ですか?

40
Tchinmai

私は同様の問題を抱えていたので、あなたの質問は私の解決に役立ちました。おそらくあなたの問題を解決するのに役立つでしょう。問題はあなたが定義したことです:

dependencies {
...
  compile 'com.google.Android.gms:play-services-cast:7.5.0'
}

そして

dependencies {
...
  compile 'com.google.Android.gms:play-services:7.0.+'
...
}

Googleサービス7.5.0以降、プレイサービスの単一のモジュールを使用している場合、プレイサービス全体を依存関係として同時に使用することはできません。解決策は、パッケージ全体ではなく、必要なサービスのみを選択することです:例:

の代わりに

dependencies {
...
  compile 'com.google.Android.gms:play-services:7.0.+'
...
}

つかいます

dependencies {
...
  compile 'com.google.Android.gms:play-services-maps:7.0.+'
  compile 'com.google.Android.gms:play-services-location:7.0.+'
  compile 'com.google.Android.gms:play-services-gcm:7.0.+'
...
}

また、定かではありませんが、おそらく両方のgradle設定で同じバージョンのGoogleサービスを使用することをお勧めします。

30
Krystian P.

Phonegap/cordovaを使用してビルドした後、同様の問題が発生しました。com.Android.dex.DexException:複数のdexファイルがLcom/google/Android/gms/internal/zzskを定義しています。

Build.gradle(module Android)を編集して修正しました。異なるバージョン番号(私の場合は8.4.0と9.2.1)でまったく同じバージョンを持つ必要がある2つのライブラリーがあったためです。

dependencies{
....
//make sure are both same version (8.4.0 or 9.2.1 in my case)
compile 'com.google.Android.gms:play-services-gcm:9.2.1'
// this is the one I changed:  compile 'com.google.Android.gms:play-services-location:8.4.0'
compile 'com.google.Android.gms:play-services-location:9.2.1' // it was 8.4.0
....
}
16
rafahoro

Firebase Android SDKには独立したバージョン番号が追加され、より頻繁で柔軟な更新が可能になりました。

Firebaseのすべての依存関係を最新バージョンに更新します(2018年5月2日現在):

 Firebase Core          com.google.firebase:firebase-core:15.0.2
    Ads                 com.google.firebase:firebase-ads:15.0.0
  Analytics             com.google.firebase:firebase-analytics:15.0.2
 App Indexing           com.google.firebase:firebase-appindexing:15.0.0
 Authentication         com.google.firebase:firebase-auth:15.1.0
Cloud Firestore         com.google.firebase:firebase-firestore:16.0.0
Cloud Functions         com.google.firebase:firebase-functions:15.0.0
Cloud Messaging         com.google.firebase:firebase-messaging:15.0.2
Cloud Storage           com.google.firebase:firebase-storage:15.0.2
Crash Reporting         com.google.firebase:firebase-crash:15.0.2
Crashlytics             com.crashlytics.sdk.Android:crashlytics:2.9.1
Invites                 com.google.firebase:firebase-invites:15.0.2
Performance Monitoring  com.google.firebase:firebase-perf:15.1.0
Realtime Database       com.google.firebase:firebase-database:15.0.0
Remote Config           com.google.firebase:firebase-config:15.0.2

リリースノート: https://firebase.google.com/support/release-notes/Android

5
Gurjap singh

Firebaseをアプリに手動で追加した後、同じ問題が発生しました。
私にとって解決策は変化していました。

classpath 'com.google.gms:google-services:3.2.0'

に:

classpath 'com.google.gms:google-services:3.0.0'

ルートレベルでbuild.gradleファイル。

4
Roses

React-native-device-infoでこれが発生している場合、変更できるのは次のもののみです。

compile(project(':react-native-device-info'))

compile(project(':react-native-device-info')) {
  exclude group: 'com.google.Android.gms'
}

ここで説明されているとおり: https://github.com/rebeccahughes/react-native-device-info/blob/81b0c20fab8a10ccf0341dbd6710d7a5915b06a6/README.md#troubleshooting

4
Estevão Lucas

Firebaseの統合中に同じ問題が発生しました。私の場合、バージョンの不一致が原因でした。

アプリのgradleで、私は持っていました:

ext {
    PLAY_SERVICES_VERSION = '10.2.0'
}
dependencies {
    compile "com.google.Android.gms:play-services-maps:$PLAY_SERVICES_VERSION"
    compile "com.google.Android.gms:play-services-location:$PLAY_SERVICES_VERSION"
    compile "com.google.Android.gms:play-services-places:$PLAY_SERVICES_VERSION"
    compile 'com.google.firebase:firebase-database:10.0.1'
}

firebase依存関係は、Android studio。の統合されたfirebaseプラグインを介して追加されました。バージョンが一致したとき、機能しました。

3
Irshu

私は最近この問題を抱えていました、理由はバージョンの違いでした:

'com.google.firebase:firebase-ads:9.0.6'

'com.google.firebase:firebase-crash:11.0.2'

そのため、同じバージョンを使用していることを確認してください。

2

私のプロジェクトはcordova ionic1プロジェクトです、私はこの問題を解決するために一晩中費やしました、これは私がfirebase依存関係とgoogleサービスを持っているためです: cordova-plugin-firebase\app-build.gradle

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        // classpath 'com.google.gms:google-services:3.0.0'
        // i changed the above line from 3.0.0 to 3.1.1
        classpath 'com.google.gms:google-services:3.1.1'
    }
}
repositories {
    mavenCentral()
}
dependencies {
    compile 'me.leolin:ShortcutBadger:1.1.4@aar'
    //compile 'com.google.firebase:firebase-crash:+'
    // i changed the above line from + to 11.0.2
    compile 'com.google.firebase:firebase-crash:11.0.2'
}

次に、このファイルに移動します:platforms\Android\project.propertiesもともと私はこれを持っていました

target=Android-26
Android.library.reference.1=CordovaLib
cordova.gradle.include.1=cordova-plugin-firebase/app-build.gradle
cordova.system.library.1=com.google.gms:google-services:+
cordova.system.library.2=com.google.firebase:firebase-core:+
cordova.system.library.3=com.google.firebase:firebase-messaging:+
cordova.system.library.4=com.google.firebase:firebase-crash:+
cordova.system.library.5=com.google.firebase:firebase-config:+
cordova.system.library.6=com.Android.support:support-v4:24.1.1+
cordova.system.library.7=com.google.Android.gms:play-services-auth:11.+
cordova.system.library.8=com.google.Android.gms:play-services-identity:11.+

次に、特定の依存関係が必要なためGoogleサービスをコメントアウトし、firebaseとgmsのバージョンを同じバージョン番号11.0.2に設定したため、ファイルは次のようになります

target=Android-26
Android.library.reference.1=CordovaLib
cordova.gradle.include.1=cordova-plugin-firebase/app-build.gradle
# cordova.system.library.1=com.google.gms:google-services:+
cordova.system.library.2=com.google.firebase:firebase-core:11.0.2
cordova.system.library.3=com.google.firebase:firebase-messaging:11.0.2
cordova.system.library.4=com.google.firebase:firebase-crash:11.0.2
cordova.system.library.5=com.google.firebase:firebase-config:11.0.2
cordova.system.library.6=com.Android.support:support-v4:24.1.1+
cordova.system.library.7=com.google.Android.gms:play-services-auth:11.0.2
cordova.system.library.8=com.google.Android.gms:play-services-identity:11.0.2
1
Nyola Mike

誰かが私のものと同じ問題を抱えていた場合、firebase-core依存関係を削除し、それは魅力のように機能しました。

dependencies{
    implementation 'com.google.firebase:firebase-core:15.0.0'
    implementation 'com.google.Android.gms:play-services-ads:15.0.0'
    implementation 'com.google.firebase:firebase-crash:15.0.0'
    implementation 'com.google.firebase:firebase-messaging:15.0.0'
}

dependencies{
    implementation 'com.google.Android.gms:play-services-ads:15.0.0'
    implementation 'com.google.firebase:firebase-crash:15.0.0'
    implementation 'com.google.firebase:firebase-messaging:15.0.0'
}
1
Irshad P I

私は同じ問題を抱えていましたが、私の原因はfirebase-uiの最新バージョン2.0.0でした。そこで、1.2.0にダウングレードし、プロジェクトレベルのbuild.gradleファイルに次の行を追加しました。

allprojects {
    repositories {
        jcenter()

        // Add the following code
        maven {
            url 'https://maven.fabric.io/public'
        }
    }
}
1
Darush

Ionicでこの問題に他の誰かが出くわした場合、プラットフォームの削除と再追加は私のために働いた:

> ionic cordova rm platform Android
> ionic cordova add platform Android
0
ajcurtis

Apache Cordova pluginsでこれを修正する方法を知りたい方のために、すべてのplugin.xmlファイルに同じメジャーバージョンとマイナーバージョン、ただし最新リビジョンを含めることでこの問題を修正しました、 このような:

<framework src="com.google.firebase:firebase-auth:15.0.+" />
<framework src="com.google.firebase:firebase-messaging:15.0.+" />

上記の15.0.0を使用すると、何らかの理由でcom.Android.dex.DexExceptionエラーが発生しました。リビジョン番号に+(最新を意味する)を使用することで、すべてがcordova 7.1.0およびcordova-Android 6.3.0で完全に機能しました。

忘れずにプラグインからplugin.xmlを編集した後、Android platformを削除して再追加してください。そうしないと、変更はまったく適用されません。

また、次の場合に備えて、1つのgradleファイルのみがこれを適用していることを確認してください。

dependencies {
    classpath 'com.Android.tools.build:gradle:+'
    classpath 'com.google.gms:google-services:3.0.0'
}
0
andreszs

私はこの問題を抱えていましたが、どのソリューションも機能しませんでした。私のために働いたのは、このプラグインを追加することでした

 cordova plugin add cordova-Android-play-services-gradle-release --save

そして、/ platforms/Android/cordova-plugin-fcm /と/ platforms/Android/cordova-plugin-open /の両方でreplace

apply plugin: com.google.gms.googleservices.GoogleServicesPlugin

で:

ext.postBuildExtras = {
  apply plugin: com.google.gms.googleservices.GoogleServicesPlugin
}
0
marshy101

私もこの問題を抱えていました。この問題を解決するために多くの方法を試しました。私のために働いたのは、私のgradleから次の行を削除することでした。

compile 'com.google.firebase:firebase-core:16.0.3'

最初は両方ともfirebase-coreおよびfirebase-ml-vision(必要なのはfirebase-ml-vision)次のように。

compile 'com.google.firebase:firebase-ml-vision:17.0.0'
compile 'com.google.firebase:firebase-core:16.0.3'

行を削除した後、次の警告が表示されました。

警告:Firebaseサービスが意図したとおりに機能するには、アプリのgradleファイルがcom.google.firebase:firebase-coreに依存している必要があります。

ただし、公式ドキュメントによると、コアの依存関係は存在しない可能性があるため( https://firebase.google.com/docs/ml-kit/Android/detect-faces )、無視できます。

0
Rurouni