You need to enable JavaScript to run this app. Android项目构建时生成两个相同APK,求问问题触发原因
优惠活动
大模型
产品
解决方案
定价
更多

Android项目构建时生成两个相同APK,求问问题触发原因

重复APK生成原因排查

常见触发场景

  • ABI拆分配置问题:如果你的module层级build.gradle中开启了splits.abi按CPU架构拆分APK,同时设置了universalApk true,会同时生成各架构专属APK和全架构通用APK,若未注意文件名后缀的架构标识,会误认为是完全相同的文件。
  • Product Flavor配置重复:若你定义了多个productFlavors,但两个flavor的applicationId、版本配置、代码分支、资源规则完全无差异,构建后生成的APK内容会完全一致,仅文件名的flavor标识不同。
  • Build Type配置冗余:自定义多个buildType时,如果两个类型的签名规则、混淆配置、调试开关、编译参数完全相同,构建后也会输出内容一致的APK。
  • AGP版本异常:3.0~4.1区间的部分Android Gradle Plugin版本存在构建缓存bug,会重复输出相同APK到产物目录。

排查步骤

  1. 检查module级build.gradle中的productFlavors、buildTypes、splits三个代码块,确认是否存在重复的规则定义。
  2. 对比两个APK的哈希值:终端执行md5 <APK文件路径>(Windows环境可使用CertUtil工具),如果哈希值完全一致才是内容真的相同,哈希值不同则为不同配置的构建产物。
  3. 清理缓存后重新构建:执行./gradlew clean assemble<构建变体名>(Windows下执行gradlew.bat clean assemble<构建变体名>),确认最终输出的APK数量是否正常。

内容的提问来源于stack exchange,提问作者João Roberto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.17 16:06:02