升级Android Studio至API 33后,AndroidManifest.xml报大量“Unknown attribute”错误
解决API33升级后AndroidManifest.xml的"Unknown attribute"错误
针对你遇到的问题,核心原因是API33对应的Android Gradle Plugin(AGP)对Manifest配置的校验更严格,同时versionCode/versionName这类属性现在推荐放在Gradle配置中而非Manifest里。以下是具体解决步骤:
迁移版本信息到Gradle配置
把Manifest里的android:versionCode和android:versionName移到模块级的build.gradle(或build.gradle.kts)的defaultConfig块中:android { defaultConfig { versionCode 147 versionName "3.10" // 保留其他原有配置(比如applicationId、minSdkVersion等) } }之后删除Manifest文件中对应的这两个属性。
确保AGP版本与API33兼容
API33需要AGP 7.0及以上版本支持,检查项目根目录的build.gradle中AGP的classpath版本:buildscript { dependencies { classpath 'com.android.tools.build:gradle:7.4.2' // 可使用更高兼容版本,比如7.4.x或8.x系列 } }注意AGP版本需要和Gradle版本匹配,比如AGP 7.4对应Gradle 7.5及以上。
重新同步与构建项目
- 点击Android Studio右上角的「Sync Project with Gradle Files」按钮完成同步
- 执行
Build > Clean Project,再执行Build > Rebuild Project - 最后运行
Analyze > Inspect Code...,验证错误是否消失
处理其他"Unknown attribute"错误
- 检查报错属性是否在API33中被废弃/移除,替换为官方推荐的新属性
- 若为自定义属性,确认其命名空间是否在Manifest头部正确声明
- 临时需求下可使用
tools:ignore="UnknownAttribute"忽略单个错误(不建议长期依赖,优先修复根源问题)
内容的提问来源于stack exchange,提问作者Luis A. Florit
相关产品推荐
相关产品推荐

