Android Studio Kotlin项目apply等标准库函数缺失问题问询
问题根因
你遇到的三个报错本质都是Kotlin标准库未正确加载导致的,apply 作用域函数、mutableListOf 集合初始化函数、带谓词参数的removeAll 重载均属于Kotlin标准库内置API,不需要额外引入第三方依赖,出现找不到的情况有以下几个常见触发原因:
- 项目未显式依赖Kotlin标准库,高版本Android Gradle插件不会自动传递引入该依赖
- Kotlin插件版本与项目依赖的Kotlin标准库版本不匹配
- 项目Gradle缓存损坏,导致已引入的依赖未被正确识别
- 你当前使用的
kotlin-android-extensions插件已废弃,存在兼容性冲突
解决方案
第一步:修正模块级build.gradle配置
打开你的模块级build.gradle文件,按以下内容修改:
plugins { id 'com.android.application' id 'org.jetbrains.kotlin.android' // 替换原有kotlin-android的声明,符合新版规范 // 删除kotlin-android-extensions,该插件已在Kotlin 1.4.20之后废弃,会引发兼容性问题 } android { compileSdk 31 defaultConfig { applicationId "com.example.todo" minSdk 21 targetSdk 31 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled 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 { // 显式添加对应版本的Kotlin标准库依赖,版本和你项目级build.gradle里的kotlin-gradle-plugin版本一致 implementation "org.jetbrains.kotlin:kotlin-stdlib:1.5.21" implementation 'androidx.core:core-ktx:1.6.0' implementation 'androidx.appcompat:appcompat:1.3.1' implementation 'com.google.android.material:material:1.4.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.0' testImplementation 'junit:junit:4.+' androidTestImplementation 'androidx.test.ext:junit:1.1.3' androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' }
第二步:清理缓存并重新同步项目
- 点击Android Studio顶部菜单栏的
File -> Sync Project with Gradle Files先尝试同步 - 如果同步后问题仍存在,点击
File -> Invalidate Caches...,在弹出的窗口中勾选Clear file system cache and local history,点击Invalidate and Restart重启Android Studio - 重启后等待Gradle自动同步完成,所有标准库API即可正常识别
可选优化(避免后续出现兼容性问题)
可以将项目级build.gradle中的Kotlin插件版本升级到1.6.21,这个版本和AGP 7.0.1兼容性更好,升级时注意同步修改模块级build.gradle中kotlin-stdlib的版本号保持一致。
内容的提问来源于stack exchange,提问作者Ofir7909
相关产品推荐
相关产品推荐

