如何控制Flutter模块生成AAR的Kotlin版本,避免修改丢失?
解决Flutter模块构建AAR时Kotlin版本固定问题
以下是几种持久化控制Kotlin版本的方法,避免手动修改生成的.android文件夹配置被覆盖:
方法1:通过Flutter项目根目录的gradle.properties配置
在Flutter项目根目录创建(如果不存在)gradle.properties文件,添加以下内容:
kotlin.version=1.9.0
Flutter构建AAR时会自动读取这个配置,生成的.android文件夹内的build.gradle会使用指定的Kotlin版本,无需手动修改。
方法2:构建时通过命令行参数指定版本
执行flutter build aar时直接传递Kotlin版本参数:
flutter build aar -Pkotlin.version=1.9.0
这种方式适合临时调整版本,或者在CI/CD流程中动态指定版本。
方法3:在原生Android项目中强制统一Kotlin版本
如果无法修改Flutter模块的构建配置,可以在集成Flutter AAR的原生Android项目根目录build.gradle中强制设置全局Kotlin版本:
buildscript { ext { kotlin_version = "1.9.0" } repositories { // 你的仓库配置 } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // 其他依赖 } }
这种方式会让原生项目所有模块(包括Flutter AAR)使用指定的Kotlin版本,需要确保Flutter代码与Kotlin 1.9.0兼容。
不推荐的方法:修改Flutter SDK模板
找到Flutter SDK安装目录下的packages/flutter_tools/templates/module/android/library/build.gradle.tmpl文件,将其中的kotlin_version值改为1.9.0。但该修改会在Flutter SDK升级后被覆盖,仅适合固定SDK版本的场景。
内容的提问来源于stack exchange,提问作者Alon
相关产品推荐
相关产品推荐

