【问题标题】:Android Studio Gradle: Please remove usages of `jcenter()` Maven repository from your build scripts / JCenter is at end of lifeAndroid Studio Gradle:请从您的构建脚本中删除 `jcenter()` Maven 存储库的使用/JCenter 已结束生命周期
【发布时间】:2021-07-28 18:29:48
【问题描述】:

在 Android Studio 4.2 中有一个警告:

buildscript {
    ext.kotlin_version = '1.5.0'

    repositories {
        google()
        //jcenter()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:4.2.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

allprojects {
    repositories {
        google()
        //jcenter()
        mavenCentral()
    }
}

如果我删除jcenter(),那么它找不到我的应用项目的一些依赖项:

   > Could not find org.koin:koin-core:2.0.1.
     Required by:
         project :app
   > Could not find org.koin:koin-androidx-scope:2.0.1.
     Required by:
         project :app
   > Could not find org.koin:koin-androidx-viewmodel:2.0.1.
     Required by:
         project :app
   > Could not find com.google.ads.mediation:chartboost:8.1.0.0.
     Required by:
         project :app

代替jcenter(),我添加了mavenCentral()

【问题讨论】:

  • 我猜你需要检查不同的缺失 JAR 的主页,看看你将来可能从哪里得到它们。

标签: android maven android-studio android-gradle-plugin jcenter


【解决方案1】:

mavenCentral()移到jcenter()上方。

对您的项目进行清理/构建。

注释掉jcenter()

通过将mavenCentral() 移到jcenter() 上方,mavenCentral() 现在成为所有非 Google 工件的主要存储库。通过清理和构建,所有工件现在都移至mavenCentral()

我不得不查找并尝试了它。删除jcenter() 后,我彻底摆脱了困境,现在能够再次为学校构建我的最终项目。

【讨论】:

  • 仅供参考 - 截至 2021 年 6 月 22 日,我的 mavenCentral() 高于 jcenter() 但现在它警告您必须将其删除。我删除了 jcenter() 并重建,现在一切都很好。
  • 在评论jcenter后清理项目。
【解决方案2】:

对于 koin,将组 ID 从 org.koin 更改为 io.insert-koin - 后者发布在 maven Central 上。

对于 chartboost,您可以使用以下 repo:

maven {
    url "https://dl.bintray.com/google/mobile-ads-adapters-android/"
}

另请注意,还有更新的版本,例如 koin 2.2.2 / 3.0.1 和 chartboost 8.2.0.0。旧版本可能不会在非 jcenter 存储库中重新发布。

mvnrepository 是定位包裹的好服务。

【讨论】:

    【解决方案3】:

    只注释掉 jcenter() 会有所帮助, mavencentral() 已经在 jcenter 之上了。

    【讨论】:

      【解决方案4】:

      在您的项目文件夹树中找到所有build.gradle 文件,打开它们并将jcenter() 替换为mavenCentral()。大多数时候它对我有用。

      【讨论】:

        【解决方案5】:

        有趣的是,AndroidStudio 项目模板仍然将 jcenter() 的引用添加到 gradle,但是一旦项目尝试构建它,就会要求您将其删除。

        我只是从 gradle 文件中删除它,然后它就可以工作了。

        【讨论】:

          【解决方案6】:

          希望这会有所帮助

          1. 转到 App/Gradle Scripts/build.gradle (项目:---)
          2. 在构建脚本{}和所有项目存储库中更改jcenter()
          3. 并立即同步。

          这是以前的样子。

          buildscript {
              repositories {
                  google()
                  jcenter()
              }
              dependencies {
                  classpath 'com.android.tools.build:gradle:4.2.1'
              }
          }
          
          allprojects {
              repositories {
                  google()
                  jcenter()
              }
          }
          
          task clean(type: Delete) {
              delete rootProject.buildDir
          }
          

          之后。

            buildscript {
              repositories {
                  google()
                  mavencentral()
              }
              dependencies {
                  classpath 'com.android.tools.build:gradle:4.2.1'
              }
          }
          
          allprojects {
              repositories {
                  google()
                  mavencentral()
              }
          }
          
          task clean(type: Delete) {
              delete rootProject.buildDir
          }
          

          【讨论】:

          • 问题不在于如何删除它。
          【解决方案7】:

          这可能对某人有所帮助。

          allprojects {
                  repositories {
                      ...
                      maven { url "https://jitpack.io" }
                      ...
                  }
              }
          

          我用这个来解决:

          > Could not find com.github.parse-community.Parse-SDK-Android:parse:1.26.0.
               Required by:
                   project :app
          

          【讨论】:

            【解决方案8】:

            我在使用 Android Studio Artic Fox Beta - 3 时遇到了同样的错误,但在将 Android Studio 更改为 Canary Build 后,错误消失了

            【讨论】:

              【解决方案9】:

              我所做的解决方案是更改 build:gradle 版本:

              dependencies {
                      classpath("com.android.tools.build:gradle:4.2.2")
                      // NOTE: Do not place your application dependencies here; they belong
                      // in the individual module build.gradle files
                  }
              
              

              【讨论】:

                【解决方案10】:

                所以这里有两个问题。

                1. 首先,我们需要在所有项目中将 MavenCentral 移到 jCenter 之上

                2. 其次,Android构建工具版本需要升级到4.2.0及以上。由于 Android 内部构建工具依赖项将转到 jCenter

                  依赖{ 类路径(“com.android.tools.build:gradle:4.2.0”) }

                它应该可以工作

                【讨论】:

                  猜你喜欢
                  • 2023-03-12
                  • 1970-01-01
                  • 2021-05-08
                  • 2017-11-10
                  • 2015-12-22
                  • 1970-01-01
                  • 2015-10-24
                  • 1970-01-01
                  • 2015-10-07
                  相关资源
                  最近更新 更多