Unity打包Android报错:MergeJavaResWorkAction执行失败求助
Unity Android打包失败:mergeReleaseJavaResource任务抛出VerifyException
问题复现
新电脑安装Unity后,PC版本项目可正常打包,但Android打包时触发系列错误:
多个SDK目录的package.xml编组异常,提示SDK可能为只读状态
最终执行:unityLibrary:mergeReleaseJavaResource任务失败,报错com.android.build.gradle.internal.tasks.MergeJavaResWorkAction执行出错,抛出com.google.common.base.VerifyException(无额外错误信息)
解决方法
修复SDK目录权限
右键SDK安装根目录,进入「属性」→「安全」面板,确保当前用户拥有完全控制权限。Windows系统需注意:若目录继承了系统只读属性,需勾选「将所有子对象权限条目替换为该对象的可继承权限条目」后点击应用。清理缓存文件
- 关闭Unity,删除项目目录下的
Library、Temp、Obj文件夹 - 删除用户目录下的Gradle缓存:Windows路径为
C:\Users\[你的用户名]\.gradle\caches,Mac/Linux路径为~/.gradle/caches - 重启Unity后,执行「File → Build Settings → Player Settings → Android → Publish Settings → Clear Cache」
- 关闭Unity,删除项目目录下的
重新配置外部工具路径
在Unity的「Edit → Preferences → External Tools」中,手动指定Android SDK、NDK、JDK的路径,确保路径中无中文、空格或特殊字符,建议将SDK安装到非系统盘(如D:\AndroidSDK)规避权限限制。更新Gradle与Build Tools版本
- 进入「Player Settings → Android → Publishing Settings → Build」,将「Gradle Version」切换至稳定版(如7.4.2),「Android Build Tools Version」选择对应SDK版本的最新稳定版(如33.0.2)
- 若项目使用自定义Gradle模板,检查
mainTemplate.gradle中的依赖版本是否与当前SDK版本兼容
修复损坏的SDK组件
打开Android Studio的SDK Manager,切换到「SDK Tools」标签,勾选「Show Package Details」,重新安装对应版本的Build Tools和Platform Tools,替换可能损坏的组件。
内容的提问来源于stack exchange,提问作者L'espai Buit
相关产品推荐
相关产品推荐

