Не удалось найти runtime.jar (android.arch.lifecycle: runtime: 1.0.0) - PullRequest
0 голосов
/ 28 мая 2018

После запуска ionic cordova build android я получаю эту ошибку:

FAILURE: Build failed with an exception.

* What went wrong:
Could not resolve all files for configuration ':debugCompileClasspath'.
> Could not find runtime.jar (android.arch.lifecycle:runtime:1.0.0).
  Searched in the following locations:
  https://jcenter.bintray.com/android/arch/lifecycle/runtime/1.0.0/runtime-1.0.0.jar

И это правильно.Когда я перехожу по этому URL-адресу https://jcenter.bintray.com/android/arch/lifecycle/runtime/1.0.0/runtime-1.0.0.jar, я получаю 404 Not found error в виде JSON.

Я не вижу никаких версий для Android / Cordova в этом URL-адресе, поэтому я не могу сказать, что это из моей установки Cordova.

Версия Cordova: 7.1.0

Ионная информация:

cli packages: (C:\Users\%User%\AppData\Roaming\npm\node_modules)

    @ionic/cli-utils  : 1.19.2
    ionic (Ionic CLI) : 3.20.0

global packages:

    cordova (Cordova CLI) : not installed // this is strange. I can run cordova in my terminal tho

local packages:

    @ionic/app-scripts : 3.1.8
    Cordova Platforms  : android 6.4.0
    Ionic Framework    : ionic-angular 3.9.2

System:

    Android SDK Tools : 26.1.1
    Node              : v8.4.0
    npm               : 5.3.0
    OS                : Windows 10

Environment Variables:

    ANDROID_HOME : C:\Users\%User%\AppData\Local\Android\Sdk

Misc:

    backend : pro

Кроме того, у меня нет папок cordova-android в C:\Users\%USER%\.cordova\lib\npm_cache (я неНе знаю, помогает ли это. Я видел, как люди говорили об этой папке)

В чем здесь проблема?Откуда этот URL?Как я могу изменить это и с чем я могу изменить это?

Если я не могу решить эту проблему легко, остается сделать еще один последний шаг: удалить и установить все заново.

Спасибо!

Ответы [ 9 ]

0 голосов
/ 28 мая 2018

Я удалил платформу Android и затем добавил ее снова: удалить:

Cordova Platform RM Android

добавить:

Cordova Platform добавить Android

и теперь все работает нормально. Примечание: на этот раз эта версия Android не была установлена ​​должным образом (до сегодняшнего дня!)

.

0 голосов
/ 16 июля 2018

Выпущена новая версия cordova-android (7.1.1), которая решает эту проблему.

Поэтому удалите текущую платформу Android

cordova platform rm android

И добавьте новую платформу

cordova platform add android@7.1.1
0 голосов
/ 28 мая 2018

Это работа для меня, просто следуйте этим двум шагам

Шаг 1: В проекте build.gradle файл просто замените код ниже

 allprojects {
      repositories {
          mavenLocal()
          maven { url 'https://maven.google.com' }
          jcenter()
//        google()
    }
}

Просто прокомментируйте google () , если он существует в файле проекта вашего проекта.

Шаг 2: В файле gradle-wrapper.properties понизить distributionUrl У меня только что понизился с нижеуказанным.

 distributionUrl=https\://services.gradle.org/distributions/gradle-4.0-all.zip
0 голосов
/ 28 мая 2018

Я решил проблему (по крайней мере, для меня).

Кажется, у jcenter есть некоторые проблемы с предоставлением библиотек для проекта (это может быть временным).Как и предлагали люди, вы можете решить эту проблему, получив эти библиотеки от maven.

Перейдите к файлу build.gradle (для ionic devs он находится в / platform / android) и добавьте над каждой строкой кода, где написаноjcenter() эта строка maven { url 'https://maven.google.com' }.

Для меня это было в двух местах: buildscript и allprojects.В конце верхняя часть вашего файла build.gradle должна выглядеть следующим образом:

apply plugin: 'com.android.application'

buildscript {
    repositories {
        maven { url "https://maven.google.com" }
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0'
    }
}

allprojects {
    repositories {
        mavenLocal()
        maven { url 'https://maven.google.com' }
        jcenter()
    }
}

Что он делает?Он просто меняет поставщика библиотек (в данном случае jcenter) на другого, чтобы ваше приложение могло успешно их загрузить.В каждой строке есть провайдер библиотек с резервной версией.

Я не знаю, почему он не вернулся к maven, потому что провайдер резервной копии был в моем файле build.gradle.

0 голосов
/ 28 мая 2018

Для меня AIT MANSOUR и Мориц ответы не сработали, потому что у меня были другие зависимости, которые требовали jcenter() и jitpack, дополнительно, для react-native вам нужноnode_modules.

Итак, мое решение для react-native:

allprojects {
    repositories {
        // this is for native modules I'm developing
        mavenLocal()
        // for modules depending on jitpack.io
        maven { url "https://jitpack.io" }
        // add this one
        maven {
            url "https://maven.google.com"
        }
        maven {
            url "$rootDir/../node_modules/react-native/android"
        }
        // keep this at the end
        jcenter()
    }
}
0 голосов
/ 28 мая 2018

В android / build.gradle измените код на -

   allprojects {
    repositories {
        mavenLocal()
        maven { url 'https://maven.google.com' }
        jcenter()
        maven {
            // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
            url "$rootDir/../node_modules/react-native/android"
        }
    }
}
0 голосов
/ 28 мая 2018

Может показаться, что проблема в том, что pom указан в jcenter, но банка отсутствует.

https://jcenter.bintray.com/android/arch/lifecycle/runtime/1.0.0/

Gradle не будет работать, если метаданные присутствуют в репо, ноартефакт отсутствует

https://github.com/gradle/gradle/issues/1120

@ Исправление Морица должно сработать, перейдя сначала на maven.google.com

0 голосов
/ 28 мая 2018

Этим утром у меня возникла та же проблема:

    Error:Could not resolve all files for configuration ':app:debugAndroidTestRuntimeClasspath'.

Не удалось найти runtime.jar (android.arch.lifecycle: runtime: 1.0.0).Поиск в следующих местах: https://jcenter.bintray.com/android/arch/lifecycle/runtime/1.0.0/runtime-1.0.0.j

Я исправил это следующим образом: В репозитории Project я редактирую build.gradle, я комментирую jcenter ():

repositories {
   // jcenter()
    maven {
        url "https://maven.google.com"
    }
}

Сейчаспроект строится успешно!Удачи!

0 голосов
/ 28 мая 2018

Быстрое временное исправление - включение репо Google Maven в ваш файл Gradle верхнего уровня.

allprojects {
  repositories {
      mavenLocal()
      maven { url 'https://maven.google.com' } // <-- add this!
      jcenter()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...