Unity项目Gradle构建失败求助:Android打包编译错误
解决Unity打包Android时找不到
Build.VERSION_CODES.TIRAMISU和Manifest.permission.POST_NOTIFICATIONS的问题 这两个符号是Android 13(API级别33)新增的API,出现找不到符号的错误,本质是项目构建时的Android SDK版本配置不匹配,以下是具体解决步骤:
调整Unity的Android API级别设置
打开Unity编辑器,进入Edit > Project Settings > Player > Android:- 在
Publishing Settings中,将Compile API Level设置为Android 13.0 (API Level 33)或更高版本; - 若应用需要兼容Android 13以下设备,可将
Minimum API Level设为更低版本,但必须保证Compile API Level不低于33; - 确认
Target API Level设置为Compile API Level或匹配的版本。
- 在
修复自定义Android代码/Manifest的兼容性
如果项目中存在自定义Android插件、aar包或手动修改的AndroidManifest.xml:- 检查是否直接引用了
POST_NOTIFICATIONS权限或TIRAMISU版本码,若要兼容低版本设备,需添加版本判断逻辑:if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { // 仅在Android 13及以上执行相关逻辑,比如请求通知权限 } - 在Manifest中声明
POST_NOTIFICATIONS权限时,可通过tools:node="merge"确保Unity正确合并权限,避免冲突。
- 检查是否直接引用了
清理缓存并重新构建
- 删除项目根目录下的
Library文件夹,重启Unity等待资源重新导入; - 打开
File > Build Settings,点击Clean Build清理构建缓存; - 若问题仍存在,勾选
Export Project导出Android项目,用Android Studio打开后查看详细编译日志,定位具体的错误引用文件。
- 删除项目根目录下的
内容的提问来源于stack exchange,提问作者Guillermo Emmanuel Gantcheff
相关产品推荐
相关产品推荐

