Android Studio 更新 SDK 後,Layout Editor 預覽顯示「Rendering Problems」、「Failed to instantiate one or more classes」或長時間轉圈無法渲染。Help → Check for Updates 提示已是最新版,但預覽功能不可用。
AS 預覽依賴特定版本的 android.jar 與 layoutlib.jar。SDK 更新後,專案 compileSdkVersion 與安裝的 Platform 版本不一致會導致渲染失敗。
解決:
// build.gradle (Module: app)
android {
compileSdkVersion 34 // 與 SDK Manager 安裝的 Platform 版本一致
buildToolsVersion "34.0.0" // 明確指定
}
SDK Manager → **SDK Platforms** 勾選對應 Android 版本(如 Android 14 / API 34)→ Apply。
AGP 與 AS 版本強綁定。AS 更新後若未同步升級 AGP,預覽引擎不相容。
解決:
// build.gradle (Project)
dependencies {
classpath 'com.android.tools.build:gradle:8.2.0' // 對應 AS 版本
}
同步修改 gradle/wrapper/gradle-wrapper.properties:
distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip
Layout Editor 上方工具欄的 **Android 版本下拉框**(綠色機器人圖標旁)選擇的 API 級別,專案未安裝對應 Platform。
解決:切換至已安裝的 API 級別(如 API 34),或安裝該 API 級別 Platform。
使用 Jetpack Compose 時,ui-tooling-preview、material3、compose-bom 版本必須嚴格對齊。
// 統一使用 BOM 管理版本
implementation platform('androidx.compose:compose-bom:2023.10.00')
implementation 'androidx.compose.ui:ui-tooling-preview'
核彈級解決:File → Invalidate Caches / Restart → Invalidate and Restart
查看預覽面板下方 **「Rendering Problems」** 面板,點擊錯誤鏈接跳轉到 XML 行,修復具體問題(如缺少命名空間、自定義 View 構造函數參數不全)。
LayoutPreview、RenderTask 關鍵字,查看詳細異常堆疊idea.log(Help → Show Log in Files)尋找 ClassNotFoundException、NoSuchMethodError 等線索Version Catalog (TOML) 統一管理依賴版本,減少版本衝突按順序執行:對齊 compileSdkVersion → 升級 AGP/Gradle → Invalidate Caches → 切換預覽 API 級別,90% 以上預覽失效問題可解決。