2017-04-18 107 views
-1

我是android新手。我正在構建一個需要Map以及FCM的應用程序。所以要自定義標記並設置緯度和語言我正在使用gms。無法添加gms和FCM依賴關係

這是我的應用程序級gradle構建文件。

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' 

以下是我的項目級gradle構建文件。

buildscript { 
repositories { 
    jcenter() 
} 
dependencies { 
    classpath 'com.android.tools.build:gradle:1.1.0' 
    classpath 'com.google.gms:google-services:3.0.0' 
} 
} 

allprojects { 
    repositories { 
     jcenter() 
} 
} 

因此,當我在應用程序級gradle文件中同時包含以下依賴項時。

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

運行應用程序時出現以下錯誤。

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 

但是,當我刪除了firebase消息依賴它的工作。請幫忙。在此先感謝

+0

使用同一版本都依賴9.2.0 –

+0

感謝@DivyeshPatel你的答案。 – Praveenupadrasta

回答

0

在您的gradle中使用相同版本的Gmsfirebase依賴關係。

由於您只使用Google地圖,因此無需導入整個圖庫,只使用地圖選擇部分。

com.google.firebase:firebase-messaging:10.2.1 
com.google.android.gms:play-services-maps:10.2.1 
在你的代碼

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

會試着讓你知道。感謝您的快速回復。 – Praveenupadrasta

+0

它的工作。非常感謝。 – Praveenupadrasta

+0

@Praveenupadrasta歡迎您...標記答案是正確的,如果有幫助,.. ..謝謝 – rafsanahmad007