2017-04-18 6 views
-1

Ich bin neu bei Android. Ich baue eine App, die sowohl Map als auch FCM benötigt. Also, um Markierungen anzupassen und Breite und Länge einzustellen, verwende ich gms.Nicht in der Lage, Gms und FCM Abhängigkeiten

Dies ist meine App Level-Level-Build-Datei.

apply plugin: 'com.android.application' 

android { 
compileSdkVersion 23 
buildToolsVersion "21.1.2" 

defaultConfig { 
    applicationId "com.xxx.xxx" 
    minSdkVersion 18 
    targetSdkVersion 23 
    versionCode 1 
    versionName "1.0" 
} 
packagingOptions { 
    exclude 'META-INF/ASL2.0' 
    exclude 'META-INF/LICENSE' 
    exclude 'META-INF/license.txt' 
    exclude 'META-INF/NOTICE' 
    exclude 'META-INF/notice.txt' 
} 
buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 
'proguard-rules.pro' 
    } 
} 
} 

dependencies { 
compile fileTree(dir: 'libs', include: ['*.jar']) 
compile 'com.android.support:appcompat-v7:24.2.1' 
compile 'com.google.android.gms:play-services:9.0.0' 
compile 'com.google.firebase:firebase-messaging:9.2.0'     
} 

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

und die unten ist meine Projekt Level Gradle Build-Datei.

Also, wenn ich beide Abhängigkeiten in App Level Gradle-Datei einschließen.

compile 'com.google.android.gms:play-services:9.0.0' 
compile 'com.google.firebase:firebase-messaging:9.2.0' 

Ich bekomme den folgenden Fehler beim Ausführen der Anwendung.

UNEXPECTED TOP-LEVEL EXCEPTION: 
com.android.dex.DexException: Multiple dex files define Lcom/google/android/gms/common/internal/zzab; 
at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596) 
at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554) 
at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535) 
at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171) 
at com.android.dx.merge.DexMerger.merge(DexMerger.java:189) 
at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454) 
at com.android.dx.command.dexer.Main.runMonoDex(Main.java:303) 
at com.android.dx.command.dexer.Main.run(Main.java:246) 
at com.android.dx.command.dexer.Main.main(Main.java:215) 
at com.android.dx.command.Main.main(Main.java:106) 

Error:Execution failed for task ':app:dexDebug'. 
> com.android.ide.common.process.ProcessException: 
org.gradle.process.internal.ExecException: Process 'command 'C:\Program 
Files\Java\jdk1.7.0_79\bin\java.exe'' finished with non-zero exit value 2 
Information:BUILD FAILED 
Information:Total time: 20.671 secs 
Information:1 error 
Information:0 warnings 
Information:See complete output in console 

Aber wenn ich die Firebase-Messaging-Abhängigkeit entfernt, funktioniert es. Bitte helfen Sie. Vielen Dank im Voraus

+0

Verwendung derselben Version für beide Abhängigkeiten 9.2.0 –

+0

Dank @DivyeshPatel für deine Antwort. – Praveenupadrasta

Antwort

0

Verwenden Sie in Ihrem Gerät die gleiche Version von Gms und firebase Abhängigkeiten.

Und da Sie nur Google Map verwenden, müssen Sie nicht die gesamte Bibliothek importieren, sondern nur den kartenselektiven Teil.

com.google.firebase:firebase-messaging:10.2.1 
com.google.android.gms:play-services-maps:10.2.1 

im Code:

dependencies { 
compile fileTree(dir: 'libs', include: ['*.jar']) 
compile 'com.android.support:appcompat-v7:24.2.1' 
com.google.firebase:firebase-messaging:10.2.1 
com.google.android.gms:play-services-maps:10.2.1     
} 
+0

Wird versuchen, Sie wissen zu lassen. Danke für die schnelle Antwort. – Praveenupadrasta

+0

Es funktioniert. Danke vielmals. – Praveenupadrasta

+0

@Praveenupadrasta Sie sind willkommen ... markieren Sie die Antwort als richtig, wenn es hilft, ..thankx – rafsanahmad007