问题描述
我正在尝试为Android编译cordova应用程序,但出现此错误.有任何想法吗?这是我得到的错误:
I am trying to compile a cordova app for android and I am getting this error. Any ideas?This is the error I am getting:
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':transformClassesWithDexForArmv7Debug'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexException: Multiple dex files define Lcom/google/android/gms/iid/zzc;
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
我尝试在末尾添加--stacktrace --debug,但出现相同的错误.有什么想法吗?
I tried adding --stacktrace --debug at the end but I am getting the same error. Any ideas?
推荐答案
此问题是由两个或多个插件指定的Google Play服务库版本不匹配引起的.
This issue is caused by a mismatch of versions of the Google Play Services library specified by two or more plugins.
之所以可行,是因为phonegap-plugin-push@1.10.5
包含提交固定版本从10.2+
到11+
.
This worked because phonegap-plugin-push@1.10.5
contains a commit which changed the pinned version from 10.2+
to 11+
.
您的项目中很可能有另一个插件指定了com.google.android.gms:*:+
,该插件目前也将解析为v11,因为当前这是最新版本.
Most likely you have another plugin in your project which specifies com.google.android.gms:*:+
, which will currently also resolve to v11, because this is currently the latest release.
更新
由于我自己一直遇到此问题,因此我刚刚创建了一个插件,其中包含针对Play Services库冲突版本的插件的Gradle解决方法: cordova-android-play-services-gradle-release .您应该只能够将其添加到有问题的项目中,并且它应该可以修复构建:
Since I've been encountering this problem myself, I've just created a plugin which contains a Gradle workaround for plugins containing conflicting versions of the Play Services library: cordova-android-play-services-gradle-release. You should just be able to add it to your problematic project and it should fix the build:
cordova plugin add cordova-android-play-services-gradle-release
这篇关于cordova-多个dex文件定义了Lcom/google/android/gms/iid/zzc的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!