Unity Android构建失败:无法确定任务依赖及创建stripReleaseDebugSymbols任务
Unity Android Gradle构建失败问题解决
问题背景
使用Unity 2023.1.0a21,搭配android-ndk-r23b、gradle-8.2、jdk-11.0.17,更新Unity默认SDK/JDK/NDK/Gradle后,空项目仍无法构建Android版本。核心报错:
无法确定任务':launcher:buildReleasePreBundle'的依赖,无法创建':launcher:stripReleaseDebugSymbols'任务,原因是@TaskAction注解的IncrementalTask.taskAction$gradle_core()方法使用了无效参数org.gradle.api.tasks.incremental.IncrementalTaskInputs
同时存在警告:
android.bundle.enableUncompressedNativeLibs=false配置已废弃,建议改用packagingOptions配置;构建使用了已废弃的Gradle特性,与Gradle 9.0不兼容
核心原因
- Unity 2023.1.0a21(Alpha预览版)与Gradle 8.x存在API兼容性冲突,IncrementalTaskInputs的参数格式在Gradle 8.x中已变更,Unity生成的构建脚本未适配
- NDK版本(r23b)与Unity 2023.1的架构支持不匹配
- 废弃的Gradle配置未更新
解决步骤
1. 降级Gradle到兼容版本
- Unity 2023.1 Alpha系列推荐搭配Gradle 7.4(Gradle 8.x对旧任务API兼容性差)
- 操作路径:
Edit > Preferences > External Tools,取消勾选「Use embedded Gradle」,手动指定Gradle 7.4的本地路径 - 确认后重启Unity,重新触发构建
2. 更新NDK到推荐版本
- Unity 2023.1官方推荐使用NDK r25b,r23b部分原生编译特性在新版本Unity中已被淘汰
- 在
External Tools中指定NDK r25b的路径,同时确保SDK为Android API 33及以上版本
3. 修复废弃的Gradle配置
- 构建失败后,找到Unity临时生成的
launcher/build.gradle文件(路径:项目根目录/Temp/gradleOut/launcher/build.gradle) - 移除行:
android.bundle.enableUncompressedNativeLibs=false - 替换为packagingOptions配置(按需选择):
- 若需保留未压缩原生库:
android { packagingOptions { uncompressedNativeLibs = true } } - 若需指定不剥离符号的SO库:
android { packagingOptions { doNotStrip '*/armeabi-v7a/*.so' doNotStrip '*/arm64-v8a/*.so' } }
- 若需保留未压缩原生库:
4. 清理缓存并重建脚本
- 执行
File > Build Settings > Android > Clean Build清除旧构建缓存 - 删除项目根目录下的
Temp、Library文件夹,重启Unity后重新导入项目 - 勾选Build Settings中的「Show Gradle Console」,查看详细构建日志,排查是否有第三方插件或自定义脚本冲突
5. 确认JDK版本兼容性
- 保持JDK 11.0.17不变(Gradle 7.x与JDK 11完全兼容)
- 检查系统环境变量
JAVA_HOME是否指向正确的JDK路径,避免与其他版本JDK冲突
内容的提问来源于stack exchange,提问作者AntiSlang
相关产品推荐
相关产品推荐

