Ошибка сборки 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, чтобы получить больше вывода журнала.

Другие вопросы по тегам