首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >找不到runtime.jar (android.arch.lifecycle:runtime:1.0.0)

找不到runtime.jar (android.arch.lifecycle:runtime:1.0.0)
EN

Stack Overflow用户
提问于 2018-05-28 17:39:14
回答 7查看 11.9K关注 0票数 38

在我运行ionic cordova build android之后,我得到了这个错误:

代码语言:javascript
复制
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

我在该URL中没有看到任何android/ cordova特定版本,所以我不能说它来自我的cordova安装。

科尔多瓦版本:7.1.0

离子信息:

代码语言:javascript
复制
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

此外,我在C:\Users\%USER%\.cordova\lib\npm_cache中没有任何cordova-android文件夹(我不知道这是否有帮助。我看到人们在谈论这个文件夹)

这里有什么问题?这个URL是从哪里来的?我怎样才能改变它,我能用什么来改变它?

如果我不能轻松地解决这个问题,还有最后一步要做:删除并重新安装所有内容。

谢谢!

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2018-05-28 18:35:22

一个快速的临时解决方案是在您的顶级gradle文件中包含google maven存储库。

代码语言:javascript
复制
allprojects {
  repositories {
      mavenLocal()
      maven { url 'https://maven.google.com' } // <-- add this!
      jcenter()
票数 20
EN

Stack Overflow用户

发布于 2018-05-28 19:17:02

对我来说,AIT MANSOURMoritz答案不起作用,因为我还有其他需要jcenter()jitpack的依赖项,另外,对于react-native,你需要node_modules

因此,我对react-native的解决方案是

代码语言:javascript
复制
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()
    }
}
票数 13
EN

Stack Overflow用户

发布于 2018-05-28 19:50:34

我解决了这个问题(至少对我来说是这样)。

似乎jcenter在为项目提供库时遇到了一些问题(可能是暂时的)。正如人们在这里建议的那样,你可以通过从maven获得这些库来解决这个问题。

打开你的build.gradle文件(对于in devs,它在/platforms/android中),在每一行代码的上方添加jcenter()这一行maven { url 'https://maven.google.com' }

对我来说是两个地方:buildscriptallprojects。在最后,build.gradle文件的顶部应该如下所示:

代码语言:javascript
复制
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文件中。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50563338

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档