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

Unity Android API35编译失败:AAPT2路径异常及Gradle兼容问题

Unity 2022.3.26f1 构建Android API 35失败问题排查与解决

问题描述

使用Unity 2022.3.26f1构建Android项目时,将Target API Level设为35会触发构建失败,具体报错信息如下:

  • 核心错误:com.android.build.gradle.internal.res.LinkApplicationAndroidResourcesTask$TaskAction执行失败
  • Gradle控制台提示:建议使用更新的Android Gradle插件以适配compileSdk = 35
  • 路径错误细节:自定义AAPT2路径缺失分隔符,指向无效路径D:APPSUnity HubUH2022.3.26f1EditorDataPlaybackEnginesAndroidPlayerSDKbuild-tools35.0.1

切换至API 34及以下版本可正常编译。

已尝试的操作

  • 更新Unity与Gradle插件,设置Target API为最新版本并修改gradleTemplate.properties匹配版本
  • 检查SDK/NDK版本并通过Unity Hub安装最新Android SDK
  • 清理项目Library与Temp文件夹后重建
  • 手动检查并修改AndroidManifest.xml、build.gradle中的compileSdkVersion
  • 切换Mono与IL2CPP编译后端
  • 启用/禁用自定义Gradle模板

求助问题

  1. 该问题成因是什么?
  2. 能否在不破坏Unity默认Gradle配置的前提下手动覆盖compileSdkVersion?
  3. 是否需要升级或降级特定依赖?

问题成因分析

  1. 路径解析BUG:Unity 2022.3.26f1在处理API 35对应的Build Tools路径时,未正确解析带空格的路径(你的路径里Unity Hub包含空格),导致路径分隔符丢失,生成了无效的拼接路径,进而找不到AAPT2工具。
  2. Gradle插件版本不兼容:Unity 2022.3.x默认的Android Gradle插件版本(通常为7.4.x系列)不支持compileSdk 35,官方要求compileSdk 35需搭配Android Gradle插件8.0+,这也是控制台提示更新插件的核心原因。
  3. 内置SDK适配滞后:该Unity版本的内置Android SDK未针对API 35做完整适配,路径拼接逻辑存在漏洞。

解决方案

1. 不破坏默认配置覆盖compileSdkVersion

可以通过自定义Gradle模板实现局部覆盖,无需重写全部配置:

  • 启用自定义Gradle模板(Player Settings > Publishing Settings > Build > Custom Gradle Template)
  • 打开生成的mainTemplate.gradle,在android块中添加或修改:
    android {
        compileSdkVersion 34 // 或你需要的兼容版本
        // 保留Unity自动生成的其他配置
    }
    
  • 无需修改其他默认Gradle配置,即可实现compileSdkVersion的局部覆盖,同时保留Unity原生构建逻辑。

2. 依赖版本调整建议

  • 降级Build Tools:若坚持使用API 35,手动在SDK管理器中安装34.0.0版本的Build Tools,然后在Unity的Player Settings中指定该版本(Player Settings > Android > Build > Build Tools Version),绕过API 35的Build Tools路径BUG。
  • 升级Android Gradle插件:若需适配API 35,需将Android Gradle插件升级到8.0+,同时对应Gradle版本升级到8.0+(如AGP 8.0.2对应Gradle 8.0):
    • 修改gradleTemplate.properties中的com.android.tools.build:gradle版本为8.0.2,gradleVersion为8.0
    • 注意:升级后需检查第三方SDK的Gradle兼容性,部分旧插件可能无法适配AGP 8.0+。
  • 临时回退API版本:若无需强制适配API 35,继续使用API 34是最稳妥的方案,Unity 2022.3.x对API 34的适配已完善。

3. 路径BUG临时修复

将Unity Hub及对应Unity版本安装到无空格的目录(如D:\APPS\UnityHub),重新安装Android SDK,避免路径空格导致的解析错误。


内容的提问来源于stack exchange,提问作者Jhomar Candelario

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 05:52:40