Ошибка сборки Android Ionic 3 (не удалось найти support-v4.jar)
У меня есть приложение Ionic 3, которое довольно долго прекрасно работало на устройствах разработчиков. Сегодня мы попробовали новую машину, и она там не собирается. Он использует более старую версию Cordova-Android (6.1.2), но я думаю, что он все еще будет собираться. Я вижу ошибку ниже:
> ionic cordova build android
...
* What went wrong:
A problem occurred configuring root project 'android'.
> Could not find support-v4.jar (com.android.support:support-v4:26.1.0).
Searched in the following locations:
https://jcenter.bintray.com/com/android/support/support-v4/26.1.0/support-v4-26.1.0.jar
Еще одна часть справочной информации. В этом проекте возникла проблема с конфликтующими требованиями к версии поддержки Android из нескольких плагинов, что потребовало от нас использования build-extras.gradle
файл, чтобы заставить все com.android.support:support-v4:26+
, Это было много месяцев назад, поэтому это не должно быть связано, но я подумал, что должен добавить его на случай, если это поможет.
3 ответа
Я уверен, что мог бы исправить файл build.gradle, который генерирует Cordova, чтобы это исправить. Тем не менее, Cordova будет настаивать на каждой машине Dev. Я нашел другой обходной путь.
Раньше мне приходилось связываться с com.android.support
библиотека, потому что разные плагины требовали разных версий, и они не играли друг с другом. Мой подход состоял в том, чтобы добавить файл build-extras.gradle (через ловушку, см. Здесь (вариант 2), который в конечном итоге приводит здесь) с содержимым ниже. Это сработало (до недавнего времени).
configurations.all {
resolutionStrategy {
force 'com.android.support:support-v4:26+'
}
}
Из того, что я могу сказать, кое-что отличается в версии 26.1.0 этой библиотеки. Кажется, что это не доступно в том же хранилище или что-то? В любом случае, переключение на более раннюю версию (ниже) работает. Обратите внимание, что реальное изменение от 26+
в 26.0+
(который должен тянуть в 26.0.2). Это строит нормально снова.
configurations.all {
resolutionStrategy {
force 'com.android.support:support-v4:26.0+'
}
}
Вы должны сделать некоторые изменения в вашем файле build.gradle внутри платформы / Android следующим образом:
allprojects {
repositories {
mavenCentral()
maven { url 'https://maven.google.com' } //add this code
jcenter()
}
}
Это важно для новых версий библиотек Google. Они перенесли свои библиотеки из Android SDK в репозиторий Maven.
Ниже решение сработало для меня:
follow this step:-
step 1: cordova plugin add cordova-android-support-gradle-release
step 2: cordova clean android
step 3: ionic cordova build android
Это случилось и со мной сегодня. Он скомпилирован два дня назад, и теперь сборка не удалась. Я ничего не менял в проекте или конфиге. Это может быть потому, что Google переместил их библиотеки в Maven, но что мы можем сделать с этим?
ВНИМАНИЕ: модуль 'com.android.support:support-v4:26.1.0' зависит от одной или нескольких библиотек Android, но является jar
СТРОИТЬ НЕУДАЧИ
Общее время: 2,87 с. ОТКАЗ: Сбой сборки за исключением.
Что пошло не так: возникла проблема при настройке корневого проекта "Android".
Не удалось найти support-v4.jar (com.android.support:support-v4:26.1.0). Поиск производился в следующих местах: https://jcenter.bintray.com/com/android/support/support-v4/26.1.0/support-v4-26.1.0.jar
Попробуйте: Запустите с параметром --stacktrace, чтобы получить трассировку стека. Запустите с параметром --info или --debug, чтобы получить больше вывода журнала. cmd: команда не выполнена с кодом выхода 1 Вывод ошибки: FAILURE: сборка завершилась с исключением.
Что пошло не так: возникла проблема при настройке корневого проекта "Android".
Не удалось найти support-v4.jar (com.android.support:support-v4:26.1.0). Поиск производился в следующих местах: https://jcenter.bintray.com/com/android/support/support-v4/26.1.0/support-v4-26.1.0.jar
Попробуйте: Запустите с параметром --stacktrace, чтобы получить трассировку стека. Запустите с параметром --info или --debug, чтобы получить больше вывода журнала.