无法解析 Trove4j 库

当我尝试编译我的应用程序时,出现了以下错误:

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 需要的库似乎不见了?

36212 次浏览

这个问题可以通过在 buildscript 部分中添加 jcenter ()作为存储库来解决。

buildscript {
repositories {
jcenter()
}


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

尼古拉斯的回答附加条款:

如果你有这样的想法:

allprojects {
repositories {
mavenCentral()
google()
jcenter() //also add it here!!!
}
}

build.gradle文件中; 也在那里添加它。

只要删除。想法,。梯度和梯度文件夹,并重新启动您的应用程序。

进入帮助-> 关于 Android Studio 并检查你的版本。在 build.gradle App Mudule & same 中为 project build.gradle 输入该版本,如在 classpath热线:

buildscript {
...
repositories {
...
}
dependencies {
...
classpath "com.android.tools.build:gradle:{THREE.DIGIT.VERSION}"
}
}

Like in image

我解决了这个问题 在 build 中删除

repositories {
jcenter()
}

并将 mavenCentral ()更改为 jcenter ()并删除 google ()

尝试在 build.gradle文件中用 jcenter()替换 mavenCentral()

allprojects {
repositories {


jcenter()
//.......
}
}

我每次升级 Gradle 插件时都会遇到这种情况,所以我所做的工作是:

  1. 删除您的包锁定。 json 或纱。锁定
  2. 运行 npm i或纱线来更新项目中的所有节点模块
  3. 例如,将您的 ios 项目重命名为 ios _
  4. 运行 react-native link将所有依赖项再次链接到您的 android 项目
  5. 将 ios _ 重命名为 ios
  6. 检查文件(project/build.Gradle) ,看看你使用的是什么样的 Gradle 插件版本。
  7. 检查你的 Gradle 版本(Gradle/wrapper/Gradle-wrapper. properties) ,5.4.1版本在这里工作。
  8. 使用 Android Studio 打开 Android 项目,导航到 Build > “ Rebuild project”
  9. 最后,再次尝试同步/构建。

希望能帮到别人。

如果你在2021年5月1日之后看到这个错误,那可能是因为 中心关闭了。这是安卓级别插件(AGP)所需要的。谷歌开发人员已经表示,他们正在使用一个新版本的库,可以从 mavenCentral()的 AGP 7,并希望支持到 AGP 4.2和4.1。因此,首先,尝试升级到 AGP7。如果我没有用更新来编辑这篇文章,请检查它是否在任何较低的 AGP 版本中。

但是如果你不能升级 AGP,在最初的发布时间(2021年2月) ,我能找到的唯一的回购与宝藏包是在 pentaho,它似乎是由日立所有,所以我假设它是安全的。

buildscript {
repositories {
maven { url "https://nexus.pentaho.org/content/groups/omni" }
}


dependencies {
classpath 'org.jetbrains.trove4j:trove4j:20160824'
}
}

这不是一个理想的解决方案。据我所知,这次回购可能是私下进行的。寻找一个更好的答案,可能会在我之后发布。

因为 jCenter 将关闭 五月,所以应该将 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。

从 jcenter 迁移? < em > jcenter 将在 5月1日上日落

如果从 jcenter 迁移,您可能会面临这个问题。发生这个问题是因为 Trove4j 库是从 jcenter 获取的,并且在从 jcenter 迁移时删除了 jcenter 存储库。

解决方案:

向 build.gradle 项目添加以下内容:

maven { url 'https://plugins.gradle.org/m2/' }

应加入以下内容:

  1. Gradle (peproject)-> buildscript-> 存储库

  2. Gradle (peproject)-> allproject-> 存储库

    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/' }
    }
    }
    

因为中心将在2021年5月1日日落。应该从项目中删除 jcenter 存储库。这意味着应该删除“ jcenter ()”的所有匹配项。这可能会导致 jcenter 托管的库出现问题。您应该提供另一个托管库的存储库,比如 maven。一些未维护的库可能不会移动到任何其他存储库中。在这种情况下,您可能需要考虑为库打开一个问题,或者不使用它。如果您现在不进行迁移,您将在5月1日和 你可能无法构建你的应用程序面临所有这些问题。