找不到 manifest-merger.jar (com.android.tools.build:manifest-merger:26.0.1)
Posted
技术标签:
【中文标题】找不到 manifest-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) 【发布时间】:2019-06-08 10:48:09 【问题描述】:我有一个统一项目我正在将该项目导出为 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
我有一些旧的导出项目以前运行良好,但今天它们也给出了同样的错误。
【问题讨论】:
检查清单中是否有两个同名的活动 不,只有一个活动是 UnityPlayerActivity 是否有意图过滤器“android.intent.action.MAIN”和“android.intent.category.LAUNCHER”?? 是的,它有意图过滤器 【参考方案1】:我终于解决了这个问题。这可能是一种解决方法,但它有效。 因此,如果有人遇到此问题,请按照以下说明操作:
在项目 gradle 文件以及项目中所有其他模块中交换 jcenter()
和 google()
的位置。就像我的一样,我有crashlytics
、fabric
,所以请记住也要在他们的build.gradle
文件中进行更改:
buildscript
repositories
jcenter()
google()
到
buildscript
repositories
google()
jcenter()
在再次构建您的项目之前,转到您的项目文件夹并从您的项目中删除 .gradle
文件夹,然后构建您的项目。
【讨论】:
【参考方案2】:-
转到发布设置/构建,启用自定义 Gradle 模板
转到 Assets/Plugins/Android/mainTemplate.gradle 并更改位置
buildscript
repositories
jcenter()
google()
到
buildscript
repositories
google()
jcenter()
-
移除 gradle 缓存并重建。对于 Mac,您可以在终端中运行 rm -rf $HOME/.gradle/caches/。
【讨论】:
谢谢!拯救了我的一天。它在删除缓存后工作, rm -rf $HOME/.gradle/caches/ 感谢您告诉我。很高兴听到这个消息。 @Deepaksharma【参考方案3】:问题肯定是jcenter()
高于google()
。
但是对我来说,我的build.gradle
是正确的。
问题发生是因为我的一个依赖库有这个问题。
这个问题似乎是突然发生的,可能是因为我的 jar 被缓存了。
我通过将有问题的库升级到包含修复程序的最新版本解决了这个问题。
【讨论】:
【参考方案4】:Jcenter 不再托管 google 依赖项,这些可以从“https://maven.google.com”解决 所以你可以简单地将它与 jcenter 一起添加到解析器列表中。
问候, 伊塔马尔
【讨论】:
你的意思是把 maven url 'maven.google.com' 这个添加到存储库中吧?以上是关于找不到 manifest-merger.jar (com.android.tools.build:manifest-merger:26.0.1)的主要内容,如果未能解决你的问题,请参考以下文章