问题描述
在Android Studio 4.0.1中构建API 21仿真器时,出现错误:“条目名称'META-INF / MANIFEST.MF'发生冲突”。为其他平台版本构建时,仿真器或设备可以正常工作。任何想法可能有什么问题吗?我的猜测是,Android构建过程为API 21注入了与向后兼容性依赖项相关的冲突,错误消息无法帮助隔离问题。运行构建任务本身不会获得更多的日志输出不会产生任何问题(“任务执行完成了'构建'。”)
解决方法
我遇到了[同样的问题][1]。在问题评论中,我得到了 [another issue][2] 的链接,然后我得到了对我有用的解决方案。
我的项目在 build.gradle(:app) 中有以下几行,专门用于 TeamCity
applicationVariants.all { variant ->
variant.outputs.all {
outputFileName = "../../" + outputFileName
}
}
但它使本地构建过程崩溃。
所以我只是添加条件并解决问题!
applicationVariants.all { variant ->
variant.outputs.all {
if (rootProject.hasProperty("teamcity"))
outputFileName = "../../" + outputFileName
}
}
要点:outputFileName API 不正式支持更改输出文件路径。一种解决方法是保持 outputFileName 不变,而是添加一些后期处理以复制到所需位置。