迁移Android 13时项目同步异常、Manifest属性未知如何解决
核心故障原因
你踩的是AGP版本与compileSdk版本不匹配的典型坑:AGP 7.2.1 最高仅支持到compileSdk 32(Android 12L),完全不兼容API 33(Android 13)的SDK平台解析逻辑。哪怕你本地装全了所有Tiramisu相关的预览版、正式版SDK、Build Tools,低版本AGP也无法正确加载API33的平台属性表,直接导致Manifest里所有android命名空间下的属性全部被标记为未知。
你之前尝试的更换Canary版IDE、清理缓存、重装SDK全是无效操作,根因不在IDE和SDK组件,而在构建工具链版本不匹配。
修复步骤
- 升级AGP到兼容API33的最低版本,稳定通道建议直接使用7.4.2版本,修改根目录构建脚本的依赖配置:
buildscript { repositories { google() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:7.4.2' // Kotlin插件同步升级到1.8.20,避免和高版本AGP出现兼容冲突 classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.20' } }
- 核对Gradle版本和AGP的匹配要求:AGP 7.4.x要求Gradle版本最低为7.5,推荐使用7.6版本,修改
gradle/wrapper/gradle-wrapper.properties里的分发地址配置:
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip
- 删掉模块级build.gradle里手动配置的
buildToolsVersion "33.0.0"字段,AGP 7.3+版本会自动匹配当前compileSdk对应的官方兼容Build Tools版本,手动指定反而容易触发版本不匹配问题。 - 本地SDK里不需要保留Android TiramisuPrivacySandbox Preview、Android Tiramisu Preview这类预览版SDK组件,只保留正式版API 33 SDK Platform即可,预览版组件经常会和稳定版AGP产生解析冲突。
- 上述配置改完后执行Gradle Sync,如果同步完成后Manifest还有红标,再执行清缓存重启操作即可,不需要使用Canary通道的Android Studio,正式版Android Studio Flamingo及以上版本都能完美支持API33的开发调试。
内容的提问来源于stack exchange,提问作者Arnyminer Z
相关产品推荐
相关产品推荐

