求助:targetSdk/compileSdk设为33时XML布局无代码提示,32版本正常
问题:targetSdk/compileSdk 33时XML布局无代码提示,SDK 32正常
将项目的compileSdk或targetSdk升级到33后,XML布局编辑器完全无法显示代码提示(比如控件标签、属性补全),但回退到32及以下版本时功能正常。相关配置如下:
android { compileSdk 33 defaultConfig { applicationId "com.example.sketch" minSdk 21 targetSdk 33 // 其他配置 } }
调整targetSdk和compileSdk的设置顺序也无法解决该问题。
效果对比:
- SDK 32及以下版本:输入XML标签或属性时,编辑器会弹出实时补全提示,包含系统控件、自定义属性等内容
- SDK 33版本:输入时无任何补全提示,只能手动完整输入所有标签和属性
解决办法
更新Android Studio到最新稳定版
SDK 33发布初期,旧版Android Studio容易出现兼容性问题,升级到Giraffe或更高的稳定版本,大概率能修复编辑器提示失效的问题。清理Android Studio缓存
缓存异常也会引发这类奇怪问题:关闭Android Studio,点击菜单栏的File > Invalidate Caches...,勾选Clear file system cache and local history,再点击Invalidate and Restart重启即可。检查并更新Gradle插件版本
确保com.android.tools.build:gradle插件与SDK 33兼容,建议使用7.4.0及以上版本,修改项目根目录的build.gradle:dependencies { classpath 'com.android.tools.build:gradle:7.4.0' }确认仓库配置
在项目根目录的settings.gradle中必须包含Google Maven仓库,否则SDK 33的资源无法正常加载,编辑器自然没有提示:dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } }切换布局编辑器渲染目标
在布局编辑器顶部的API Level下拉框中,先切换到32版本再切回33,强制编辑器重新加载资源配置,有时能触发提示功能恢复。
内容的提问来源于stack exchange,提问作者Urvish Vocsy
相关产品推荐
相关产品推荐

