Android Studio迁移模块后报错:无法访问KotlinBuildScript类
解决模块移动到子文件夹后Kotlin Build Script类路径问题
以下是针对你遇到的Cannot access script base class 'org.gradle.kotlin.dsl.KotlinBuildScript'报错的具体修复步骤:
修正settings.gradle中的模块路径
模块移动到子文件夹后,必须同步更新settings.gradle里的模块引用路径。比如原来模块直接在根目录下,现在放到sub文件夹,需要修改配置:// 旧配置 include ':moduleA' // 新配置 include ':sub:moduleA' project(':sub:moduleA').projectDir = file('sub/moduleA')注意路径要和实际文件夹结构完全匹配,避免拼写错误。
统一Gradle与Kotlin插件版本
确保模块的build.gradle使用的Kotlin插件版本和根项目一致,且与当前Gradle版本兼容:- 根项目build.gradle中定义统一版本(推荐用ext块):
ext { kotlin_version = '1.9.20' gradle_version = '8.4' } - 模块build.gradle中引用统一版本:
plugins { id 'org.jetbrains.kotlin.jvm' version "$kotlin_version" id 'java-library' }
不建议在模块中硬编码与根项目不同的插件版本,容易引发依赖冲突。
- 根项目build.gradle中定义统一版本(推荐用ext块):
清理Gradle缓存并强制刷新依赖
移动模块后可能存在缓存残留,执行以下命令彻底清理:# Linux/macOS ./gradlew clean build --refresh-dependencies # Windows gradlew clean build --refresh-dependencies也可以手动删除项目根目录的
.gradle文件夹和模块下的build文件夹,再重新同步项目。检查模块build.gradle的脚本结构
避免在模块中重复定义buildscript块(除非必须),优先使用Gradle的Plugins DSL。如果确实需要使用buildscript,确保依赖的仓库和插件配置正确:buildscript { repositories { mavenCentral() } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } }排查文件权限问题(仅Linux/macOS)
移动文件夹后可能出现权限不足的情况,执行命令修复模块文件夹的权限:chmod -R 755 ./sub/moduleA
内容的提问来源于stack exchange,提问作者Vladosik
相关产品推荐
相关产品推荐

