迁移Gradle DSL时遇Unresolved reference: android错误求助
解决Gradle KTS中"Unresolved reference: android"错误
问题原因
android代码块是由**Android Gradle插件(AGP)**提供的扩展,你的脚本没有应用AGP的核心插件(如com.android.library或com.android.application),导致Gradle无法识别该代码块。
解决方案
- 显式应用Android核心插件,根据模块类型选择对应插件:
- 库模块用
com.android.library - 应用模块用
com.android.application
- 库模块用
- 推荐使用
plugins块替代apply plugin写法,更符合KTS规范
修改后的示例代码
plugins { id("com.android.library") id("com.google.firebase.crashlytics") } apply { from("$rootDir/shared_build.gradle") } android { namespace = "kz.poedem.analytics" // 补充必要的Android构建配置(若shared_build.gradle未包含) compileSdk = 34 defaultConfig { minSdk = 21 } } dependencies { // Amplitude api("com.amplitude:analytics-android:1.11.0") implementation(project(":common")) }
补充说明
- 必须先加载AGP核心插件,Gradle才会注入
android扩展对象,代码块才能被正常解析 - 如果
shared_build.gradle中已经包含Android插件配置,仍需确保当前脚本能正确触发AGP加载,显式应用插件是最可靠的方式
内容的提问来源于stack exchange,提问作者Azat Sabirov
相关产品推荐
相关产品推荐

