Cordova - Определение нескольких файлов dex (аннотация)
Я работаю над проектом с ионным. После того, как я установил плагин Facebook, я больше не могу собрать проект для Android!
Команда
ionic build android
дает мне это сообщение об ошибке
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define Landroid/support/annotation/AnimRes;
Я читаю много уроков / ответов об этой ошибке, и, похоже, это связано с использованием плагина Facebook с плагином push-уведомлений.
Уже два дня я пробую много разных решений, но ни одно из них не работает:(
Вот некоторая информация о моей конфигурации:
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", загруженной несколько раз. Купить я действительно не знаю, как это возможно и где я могу это проверить.
Вы можете мне помочь? У вас есть идеи, как заставить это работать? Есть ли файл конфигурации ionic/cordova, где я могу проверить зависимости?
Заранее большое спасибо.
5 ответов
Ошибка нескольких файлов dex возникает из-за использования нескольких файлов поддержки jar в проекте ionic / cordova
вам нужно изменить build.gradle под платформы / Android
найдите нижнюю строку
apply plugin:'com.android.application'
после добавления этих ниже строк
configurations {
all*.exclude group: 'com.android.support', module: 'support-v4'
}
Я решил ту же проблему в моем приложении проблема
com.android.support:support-v4:+
com.android.support:support-v4:+ файл существует в / platform /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:+" }
Добавление этого в project.properties разрешит все экземпляры ошибок V4.
cordova.system.library.7=com.android.support:appcompat-v7:27.1.0
Плагины Push- и Facebook конфликтуют из-за использования разных версий библиотек поддержки Android.
Смотрите мой ответ на этот вопрос: Android Studio Cordova Push плагин
У нас была такая же проблема с плагином Google Analytics с плагином One Signal, и, наконец, она была решена путем установки плагинов в другом порядке;
- сначала установите Google Analytics
- а затем плагин One Signal, если вы установите в обратном порядке, вы получите эту ошибку.
Это был наш конфиг:
- Cordova CLI: 7.0.1
- Версия Ionic Framework: 3.3.0
- Ионная версия CLI: 2.2.1
- Ionic App Lib Версия: 2.2.0
Ура!