2016-09-21 33 views
0

我在运行build命令时遇到以下错误。不过,我只使用一个版本的Google服务。多个dex文件定义了Lcom/google/android/gms/internal/zzqf

:app:dexDebug 
Unknown source file : UNEXPECTED TOP-LEVEL EXCEPTION: 
Unknown source file : com.android.dex.DexException: Multiple dex files define Lcom/google/android/gms/internal/zzqf; 
Unknown source file : at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596) 
Unknown source file : at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554) 
Unknown source file : at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535) 
Unknown source file : at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171) 
Unknown source file : at com.android.dx.merge.DexMerger.merge(DexMerger.java:189) 
Unknown source file : at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:502) 
Unknown source file : at com.android.dx.command.dexer.Main.runMonoDex(Main.java:334) 
Unknown source file : at com.android.dx.command.dexer.Main.run(Main.java:277) 
Unknown source file : at com.android.dx.command.dexer.Main.main(Main.java:245) 
Unknown source file : at com.android.dx.command.Main.main(Main.java:106) 

的build.gradle

dependencies {  
    compile(project(':react-native-google-signin')){ 
     exclude group: "com.google.android.gms" // very important 
    } 
    compile fileTree(dir: "libs", include: ["*.jar"]) 
    compile "com.android.support:appcompat-v7:23.0.1" 
    compile 'com.google.android.gms:play-services-auth:9.2.1' 
    compile "com.facebook.react:react-native:+" // From node_modules 
    compile project(':react-native-vector-icons') 
    compile "com.airbnb.android:react-native-maps:0.7.1" 
    compile 'com.google.android.gms:play-services-maps:9.2.1' 
    compile project(':react-native-image-picker') 
    compile project(':RNMaterialKit') 
    compile project(':react-native-fcm') 
} 

回答

1

您正在使用play-services:9.2.1确保你在你的整个项目,包括节点模块具有相同的播放服务版本。

看看下面的截图。我在整个项目中都有相同的播放服务版本。 enter image description here

解决方案:在/android/app/build.gradle应用DEX有力。

compile ('com.google.android.gms:play-services-auth:9.2.1'){ 
    force=true 
} 
compile ('com.google.android.gms:play-services-maps:9.2.1'){ 
    force=true 
} 
+0

我的一个节点模块指着不同的模块。 – Carlos

2

更改node_modules不是正确的方法,您可以强制在/android/app/build.gradle中应用dex。

compile ('com.google.android.gms:play-services-auth:9.2.1'){ 
    force=true 
} 
compile ('com.google.android.gms:play-services-maps:9.2.1'){ 
    force=true 
} 

请确保您所有的依赖性支持9.2.1

相关问题