尝试编译我的应用时出现以下错误:
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring project ':myProject'.
> Could not resolve all files for configuration ':myProject:classpath'.
> Could not find org.jetbrains.trove4j:trove4j:20160824.
Searched in the following locations:
https://repo1.maven.org/maven2/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824.pom
https://repo1.maven.org/maven2/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824.jar
https://maven.fabric.io/public/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824.pom
https://maven.fabric.io/public/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824.jar
https://maven.google.com/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824.pom
https://maven.google.com/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824.jar
Required by:
project :metam > com.android.tools.build:gradle:3.0.0-beta2 > com.android.tools.build:gradle-core:3.0.0-beta2 >
com.android.tools.lint:lint:26.0.0-beta2 > com.android.tools.lint:lint-checks:26.0.0-beta2 > com.android.tools.lint:lint-
api:26.0.0-beta2 > com.android.tools.external.com-intellij:intellij-core:26.0.0-beta2
似乎缺少IDE所需的库?
答案 0 :(得分:82)
可以通过在buildscript部分中添加jcenter()作为存储库来解决此问题。
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0-beta2'
}
}
答案 1 :(得分:38)
除了Snicolas回答:
如果你有类似的话:
allprojects {
repositories {
mavenCentral()
google()
jcenter() //also add it here!!!
}
}
在build.gradle
文件中;也把它添加到那里。
答案 2 :(得分:14)
由于 jCenter 将关闭 in May,您应该将 root/build.gradle
更改为:
buildscript {
repositories {
google()
gradlePluginPortal()
}
}
allprojects {
repositories {
google()
mavenCentral()
// org.jetbrains.trove4j:trove4j:20160824.
gradlePluginPortal()
}
}
另请参阅 https://stackoverflow.com/a/66168563/2914140 以添加未包含在 Maven 中的库。
现在我们可以无错误地构建 apk。
答案 3 :(得分:8)
如果您在 2021 年 5 月 1 日之后看到此错误,可能是因为 jcenter is shut down。 Android Gradle 插件 (AGP) 需要它。 Google 开发人员表示,他们正在使用从 AGP 7 开始从 mavenCentral()
获得的更新版本的库,并希望将其移植到 AGP 4.2 和 4.1 中。所以首先,尝试升级到 AGP 7。如果我还没有编辑过这篇文章,请检查是否有任何较低的 AGP 版本。
但是,如果您无法升级 AGP,那么在最初发布时(2021 年 2 月),我能找到的带有 trove 软件包的唯一存储库是在 pentaho 上,它似乎归 Hitachi 所有,所以我认为它是安全的。
buildscript {
repositories {
maven { url "https://nexus.pentaho.org/content/groups/omni" }
}
dependencies {
classpath 'org.jetbrains.trove4j:trove4j:20160824'
}
}
这不是理想的解决方案。据我所知,这个 repo 可能是私有的。寻找可能在我之后发布的更好答案。
答案 4 :(得分:6)
从 jcenter 迁移? jcenter 将于 5 月 1 日
如果您要从 jcenter 迁移,您可能会遇到这个问题。出现问题是因为 Trove4j 库是从 jcenter 获取的,而您在从 jcenter 迁移时删除了 jcenter 存储库。
解决方案:
在项目 build.gradle 中添加以下内容:
maven { url 'https://plugins.gradle.org/m2/' }
应该添加到:
build.gradle(peoject) -> buildscript -> 仓库
build.gradle(peoject) -> allprojects -> 仓库
buildscript {
repositories {
google()
mavenCentral()
// ** Add this line **
maven { url 'https://plugins.gradle.org/m2/' }
}
}
allprojects {
repositories {
google()
mavenCentral()
// ** Add this line **
maven { url 'https://plugins.gradle.org/m2/' }
}
}
由于 jcenter 将于 2021 年 5 月 1 日停用。应该从项目中删除 jcenter 存储库。这意味着应该删除所有出现在“jcenter()”的地方。这可能会导致 jcenter 托管的库出现问题。您应该提供另一个托管库的存储库,例如 maven。一些未维护的库可能不会移动到任何其他存储库。在这种情况下,您可能需要考虑为库打开一个问题或不使用它。您将在 5 月 1 日面临所有这些问题,如果您现在不进行迁移,您可能无法构建您的应用。
答案 5 :(得分:3)
只需删除.idea,.gradle和gradle文件夹,然后重新启动您的应用程序。
答案 6 :(得分:3)
我解决了这个问题 在build.gradlew
中删除repositories {
jcenter()
}
然后将mavenCentral()更改为jcenter()并删除google()
答案 7 :(得分:2)
转到帮助 - >关于Android Studio并查看您的版本。在build.gradle App Mudule&中输入该vesion。对于项目build.gradle也是如此
classpath
行在这里:
buildscript {
...
repositories {
...
}
dependencies {
...
classpath "com.android.tools.build:gradle:{THREE.DIGIT.VERSION}"
}
}
答案 8 :(得分:1)
每次升级Gradle插件时,这都是发生在我身上的,所以我所做的工作:
npm i
或yarn来更新项目中的所有节点模块react-native link
将所有依赖项再次链接到您的android项目希望它可以帮助某人。
答案 9 :(得分:0)
尝试在mavenCentral()
文件中将jcenter()
替换为build.gradle
allprojects {
repositories {
jcenter()
//.......
}
}