android - 无法生成签名的 apk,因为任务 ':app:packageDebug' 的 gradle 失败
问题描述
由于构建的 Gradle 中出现以下错误,我无法生成签名的发布 apk。
Execution failed for task ':app:packageDebug'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
> Entry name 'kotlin/collections/MapWithDefault.kotlin_metadata' collided
但是在设备上运行我的应用程序没有问题。我尝试过使缓存无效并重新启动,删除旧生成的调试/发布 apk。我在 Gradle 中完成的另一项操作是,我有 applicationIdSuffix、versionNameSuffix 以及用于调试和发布版本的单独名称。我的应用程序模块的 Gradle buildTypes 是这样的
buildTypes {
release {
resValue "string", "app_name", "@string/app_name_release"
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
debug {
versionNameSuffix ".debug"
applicationIdSuffix = ".debug"
resValue "string", "app_name", "@string/app_name_debug"
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
解决方案
将构建变体从“调试”更改为“发布”
推荐阅读
- javascript - 如何制作一个可重用的函数,以便我保持 DRY 的良好实践?
- c++ - C++ 中的可输出特性:SFINAE 总是选择一种实现而不是另一种实现
- java - @RequiredArgsConstructor 不生成构造函数
- mongodb - 具有多个条件的聚合和项目
- sql - 最大值多个条件
- sql - ORACLE SQL 中的业务规则
- javascript - 如何在短时间内获得网页可以播放的最大视频数
- php - 在 const 中定义 $_SERVER 变量
- node.js - 多语言的猫鼬结构
- python-3.6 - Sample python code to replace a substring value in an xlsx cell