在我运行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
。
我在该URL中没有看到任何android/ 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
此外,我在C:\Users\%USER%\.cordova\lib\npm_cache
中没有任何cordova-android
文件夹(我不知道这是否有帮助。我看到人们在谈论这个文件夹)
这里有什么问题?这个URL是从哪里来的?我怎样才能改变它,我能用什么来改变它?
如果我不能轻松地解决这个问题,还有最后一步要做:删除并重新安装所有内容。
谢谢!
发布于 2018-05-28 18:35:22
一个快速的临时解决方案是在您的顶级gradle文件中包含google maven存储库。
allprojects {
repositories {
mavenLocal()
maven { url 'https://maven.google.com' } // <-- add this!
jcenter()
发布于 2018-05-28 19:17:02
对我来说,AIT MANSOUR和Moritz答案不起作用,因为我还有其他需要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()
}
}
发布于 2018-05-28 19:50:34
我解决了这个问题(至少对我来说是这样)。
似乎jcenter
在为项目提供库时遇到了一些问题(可能是暂时的)。正如人们在这里建议的那样,你可以通过从maven获得这些库来解决这个问题。
打开你的build.gradle文件(对于in devs,它在/platforms/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文件中。
https://stackoverflow.com/questions/50563338
复制相似问题