找不到清单-merger.jar (com.android.tools.build:manifest-merger:26.0.1)

Could not find manifest-merger.jar (com.android.tools.build:manifest-merger:26.0.1)

我有一个 unity 项目 我正在将该项目导出为 android studio 项目,同时打开 android studio 项目 我收到此错误

Gradle sync failed: Could not find manifest-merger.jar
    (com.android.tools.build:manifest-merger:26.0.1).
    Searched in the following locations:
    https://jcenter.bintray.com/com/android/tools/build/manifest-merger/26.0.1/manifest-merger-26.0.1.jar

我有几个以前运行良好的旧导出项目,但今天它们也出现了同样的错误。

Jcenter 不再承载 google 依赖项,这些可以从“https://maven.google.com”中解决 所以你可以简单地将它与 jcenter 一起添加到解析器列表中。

此致, 伊塔马尔

我终于解决了这个问题。这可能是一种解决方法,但它确实有效。 因此,如果有人遇到此问题,请按照以下步骤操作:

  1. 交换 jcenter()google() 在项目 gradle 文件以及项目中所有其他模块中的位置。就像我的一样,我有 crashlyticsfabric,所以请记住也要在他们的 build.gradle 文件中进行更改:

    buildscript {
        repositories {
            jcenter()
            google()
        }
    }
    

    buildscript {
        repositories {
            google()
            jcenter()
        }
    }
    
  2. 在再次构建项目之前,转到项目文件夹并从项目中删除 .gradle 文件夹,然后构建项目。

问题肯定是 jcenter() 高于 google()。 但是对我来说,我的 build.gradle 是正确的。 问题的发生是因为我的一个依赖库有这个问题。 问题似乎不知从何而来,可能是因为我的 jar 被缓存了。

我通过将有问题的库升级到包含修复程序的最新版本解决了这个问题。

  1. 转到发布 Settings/Build,启用自定义 Gradle 模板
  2. 转到 Assets/Plugins/Android/mainTemplate.gradle 并将位置从
  3. 更改
  buildscript {
    repositories {
        jcenter()
        google()
}


 buildscript {
   repositories {
      google()
      jcenter()
}
  1. 删除 gradle 缓存并重建。对于 Mac,您可以 运行 rm -rf $HOME/.gradle/caches/ 在终端中。