Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 无法解析Trove4j库_Android_Maven_Android Gradle Plugin - Fatal编程技术网

Android 无法解析Trove4j库

Android 无法解析Trove4j库,android,maven,android-gradle-plugin,Android,Maven,Android Gradle Plugin,尝试编译我的应用程序时出现以下错误: 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.trove

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

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所需的库

这个问题可以通过在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
文件中;也可以将其添加到那里。

只需删除.idea、.gradle和gradle文件夹,然后重新启动应用程序。

在Android Studio中转到帮助->关于并检查您的版本。在build.gradle应用程序Mudule中输入该vesion,与在
classpath
line此处:

buildscript {
     ...
    repositories {
     ...
    }
    dependencies {
     ...
     classpath "com.android.tools.build:gradle:{THREE.DIGIT.VERSION}"
    }
}
我解决了这个问题 在build.gradlew中删除

repositories {
    jcenter()
}

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

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

allprojects {
    repositories {

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

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

  • 删除您的package-lock.json或warn.lock
  • 运行
    npmi
    或warn更新项目中的所有节点模块
  • 例如,将ios项目重命名为ios
  • 运行
    react native link
    将所有依赖项再次链接到您的android项目
  • 将ios重新命名为ios
  • 检查文件(project/build.gradle)您正在使用的gradle插件版本。3.4.1版对我很有用
  • 检查您的Gradle版本(Gradle/wrapper/Gradle wrapper.properties),5.4.1版在这里工作
  • 使用Android Studio打开您的Android项目,导航至构建>“重建项目”
  • 最后,再次尝试同步/构建

  • 希望它能帮助一些人。

    如果你在2021年5月1日之后看到这个错误,可能是因为。Android Gradle插件(AGP)需要它。谷歌开发者表示,他们正在使用一个更新版本的库,从AGP7开始可以从
    mavenCentral()
    获得,并希望将其移植到AGP4.2和4.1中。因此,首先,尝试升级到AGP7。如果我没有对这篇文章进行过更新,请查看它是否存在于任何较低的AGP版本中

    但是,如果您无法升级AGP,从发布的最初时间(2021年2月)起,我能找到的唯一一个trove套餐回购协议是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()
        }
    }
    
    另请参见添加Maven中未包含的库


    现在,我们可以无错误地构建apk。

    从jcenter迁移?jcenter将于5月1日日落

    如果要从jcenter迁移,则可能会遇到此问题。出现此问题是因为Trove4j库是从jcenter获取的,而您在从jcenter迁移时删除了jcenter存储库

    解决方案:

    将以下内容添加到project build.gradle中:

    maven { url 'https://plugins.gradle.org/m2/' } 
    
    应将其添加到:

  • gradle(peobject)->buildscript->repositories

    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/' }
        }
    }
    
  • build.gradle(peobject)->所有项目->存储库

    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日面临所有这些问题,如果您现在不进行迁移,您可能无法构建应用程序。

    您的环境中有代理吗?这需要在IDE上配置以下载gradle软件包。不确定。我该如何检查?首先,检查您电脑上的网络设置是否有代理谢谢,以前没有代理,现在也没有。具体来说,将
    mavenCentral()
    替换为
    jcenter()
    ,这必须添加到模块的渐变中,不是项目的。将jcenter添加到gradle文件中声明的所有存储库jcenter将于2021年5月1日日落。这个解决方案可能只在那时起作用。具体来说,不要将
    mavenCentral()
    替换为
    jcenter()
    。有没有关于如何在不添加
    jcenter()
    的情况下修复此问题的建议?尽管我已经解决了每个库版本的冲突,并且还更新了构建工具、目标API等,但这对我来说很有效。。。我遇到了各种奇怪的错误(比如Trove4j或支持库版本的后续版本),甚至无法搜索那些旧版本从哪里冒出来。。。(不,实际上它回来了,所以它没有帮助…:/)最后,我不得不用jcenter()替换builtscript和app的maveCentral()存储库,这解决了Trove4j问题,但删除旧缓存文件和重新导入项目似乎至少稳定了构建过程的输出,用jcenter()替换mavenCentral()。它会有用的,谢谢。我错误地将jcenter()添加到“buildscript”部分而不是“allprojects”中。现在,jcenter将于5月份关闭,您有什么建议吗?最后,jcenter()即将关闭,因此此答案和类似的答案都不正确,还有。你有谷歌开发者讨论Trove4j和AGP后移的链接吗?@ScottMarkwell这是目前最正确的答案。@Akito,谢谢!