已在根项目应用插件仍无法访问子模块插件,报Unresolved reference: android
问题解决:子模块中"Unresolved reference: android"错误
问题原因
你对根项目插件应用的理解有误——在根项目build.gradle中用apply true应用的插件,只会作用于根项目本身,不会自动传递给所有子模块。Android相关的插件(android.application或android.library)需要在对应的子模块中明确应用,才能让子模块识别android配置块。
看你的根项目配置:
plugins { alias(libs.plugins.android.application) apply false alias(libs.plugins.jetbrains.kotlin.android) apply true alias(libs.plugins.android.library) apply true }
这里android.library和kotlin.android插件是给根项目用的,但根项目不是Android模块,完全不需要这些插件;而android.application设为apply false只是声明可用,并没有实际应用到任何模块。
正确配置方式
1. 修改根项目build.gradle
把Android相关插件都设为apply false,只声明它们在项目中可用,不直接应用到根项目:
plugins { alias(libs.plugins.android.application) apply false alias(libs.plugins.jetbrains.kotlin.android) apply false alias(libs.plugins.android.library) apply false }
2. 修改子模块module2的build.gradle
根据module2的类型(如果是库模块就用android.library,如果是应用模块就换成android.application),在顶部的plugins块中应用对应的插件,同时加上kotlin.android插件:
plugins { alias(libs.plugins.android.library) // 应用模块请替换为alias(libs.plugins.android.application) alias(libs.plugins.jetbrains.kotlin.android) } android { namespace = "com.example.module2" compileSdk = 34 defaultConfig { minSdk = 24 testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" consumerProguardFiles("consumer-rules.pro") } buildTypes { release { isMinifyEnabled = false proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) } } compileOptions { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = "1.8" } } dependencies { implementation(libs.androidx.core.ktx) implementation(libs.androidx.appcompat) implementation(libs.material) testImplementation(libs.junit) androidTestImplementation(libs.androidx.junit) androidTestImplementation(libs.androidx.espresso.core) }
补充说明
- 根项目的
build.gradle主要用来管理项目级的依赖、仓库配置和插件声明(apply false),不需要应用Android相关插件。 - 每个Android子模块(应用或库)都必须单独应用对应的Android插件,这样Gradle才能识别该模块为Android模块,解析
android配置块。
内容的提问来源于stack exchange,提问作者OmniCoder77
相关产品推荐
相关产品推荐

