我正在研究一个离子项目。我安装了Facebook Plugin后,我无法再为android构建项目了!
命令
ionic build android
给我这个错误消息
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define Landroid/support/annotation/AnimRes;
我正在阅读很多有关此错误的教程/答案,这似乎与使用{4}}的Facebook插件有关。
这是两天我尝试了很多不同的解决方案,但这些都没有起作用:(
以下是有关我的配置的一些信息:
plugin com.phonegap.plugins.PushPlugin version 2.5.0
plugin com.phonegap.plugins.facebookconnect version 0.11.0 (installed with the local repository, as indicated on github)
cordova version 5.0
ionic version 1.6.3
看起来这个问题与多次加载的“support-annotations”库有关。买我真的不知道这是怎么可能的,我可以检查它。
你能帮帮我吗?你知道如何使这个工作吗? 是否有离子/ cordova配置文件,我可以检查依赖项?提前多多感谢。
答案 0 :(得分:8)
由于在ionic / cordova项目中使用了多个支持jar文件,引发了多个dex文件错误
你需要在platforms / android
下更改build.gradle找到以下行
apply plugin:'com.android.application'
添加以下行后
configurations {
all*.exclude group: 'com.android.support', module: 'support-v4'
}
答案 1 :(得分:2)
我在我的应用程序中解决了同样的问题
com.android.support:support-v4:+
com.android.support:support-v4:+文件存在于/ platforms / android / phonegap-facebook-plugin / Myapp-FacebookLib / libs
如果您只想使用facebook和Push Notification Plugin,那么只需在project.properties中提交行
#cordova.system.library.1=com.android.support:support-v4:+
解决此问题的最佳方法
1 First delete the android-support-v4.jar from /platforms/android/phonegap-facebook-plugin/Myapp-FacebookLib/libs
2 second step create a file name build-extras.gradle in /platforms/android/phonegap-facebook-plugin/Myapp-FacebookLib/
并输入文件
dependencies {
compile "com.android.support:support-v4:+" }
答案 2 :(得分:0)
推送和Facebook插件使用不同版本的Android支持库存在冲突。
请参阅我对此问题的回答:Android Studio cordova Push plugin
答案 3 :(得分:0)
我们在使用One Signal插件的Google Analytics插件时遇到了同样的问题,最后通过以不同顺序安装插件解决了这个问题。
这是我们的配置:
干杯!
答案 4 :(得分:0)
将此项添加到project.properties将解决所有V4错误实例。
cordova.system.library.7=com.android.support:appcompat-v7:27.1.0