You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity安卓构建失败:配置解析错误及D8栈映射表异常

Unity Android构建问题:警告与错误修复指南

环境版本

  • Unity: 2022.3.39f1
  • Admob: v9.2.0
  • Firebase: 12.1.0

构建警告处理

1. 项目配置警告

  • android.enableDexingArtifactTransform=false已弃用:直接删除gradle.properties里的这个配置,默认值true会自动生效,该配置将在AGP 8.0版本被移除。
  • AGP 7.4.2与compileSdk=34不兼容:要么把AGP升级到8.0+版本(适配compileSdk=34),要么在gradle.properties里添加android.suppressUnsupportedCompileSdk=34屏蔽警告。

2. 清单文件警告

  • GoogleMobileAdsPlugin.androidlib的namespace配置过时:打开该模块的build.gradle文件,添加namespace "com.google.unity.ads",同时删掉AndroidManifest.xml里package属性的命名空间设置。
  • 命名空间重复::googlemobileads-unity:和:unityLibrary:GoogleMobileAdsPlugin.androidlib:共用com.google.unity.ads命名空间,将其中一方的namespace改为唯一值,比如com.google.unity.ads.plugin。

构建失败核心问题修复

错误信息

  • 执行Task :launcher:dexBuilderRelease时触发D8栈映射表错误:jetified-analytics-7.0.0-runtime.jar中指令131、53处,[Initialized(java.util.regex.Pattern)]无法赋值给[int],栈顶类型不匹配;最终报错Could not resolve all files for configuration ':launcher:detachedConfiguration4'。

修复步骤

  1. 解决依赖版本冲突:该问题由Firebase Analytics与Admob依赖不兼容导致,要么将Firebase版本升级到与Admob v9.2.0兼容的版本(官方推荐Firebase 12.0.0+),要么降级Admob版本匹配当前Firebase。
  2. 排除冲突依赖:在Unity主gradle模板中,为Admob或Firebase依赖排除冲突的analytics模块:
    implementation('com.google.android.gms:play-services-ads:22.6.0') {
        exclude group: 'com.google.firebase', module: 'firebase-analytics'
    }
    
  3. 清理缓存后重建:删除Unity项目的Library、Temp文件夹,以及Android构建目录下的.gradle、build文件夹,重新执行构建。
  4. 确保Jetifier生效:在gradle.properties中确认android.enableJetifier=true,保证所有第三方依赖被正确转译。

内容的提问来源于stack exchange,提问作者Imran Iqbal

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 06:22:36