在Google建议使用额外的属性通过您的项目共享它们之后,我发现了一个基于buildSrc Kotlin gradle脚本的不错的解决方案,用于我的Android / Kotlin项目 . 与其他经典方法相比,这个解决方案为我提供了非常好的优势,即每个模块(加上根目录)具有多个Groovy编写的 build.gradle 文件及其依赖项,参数 . 主要是:

  • 使用kotlin语法 .

  • 编译错误 .

  • 自动完成 .

  • 点击支持(导航到定义)

  • 将gradle文件元数据信息集中在一个文件中 .

有关更多信息,请查看this article .

如果我似乎完全完成了,因为我仍然看到一些用红色突出显示的Kotlin gradle脚本代码 . 但是,它汇编得很好 . 奇怪的是,如果我克隆例如Prefekt repository我能够完全看到 build.gradle.kts 内容,没有红色标记后的gradle同步 . 我几乎完成了我的项目中的所有事情(同步gradle,无效缓存,删除缓存,相同的gradle包装等)以消除这些标记而没有任何成功 . 以下是一些侧面问题:

  • 我做错了什么?我该怎么做才能删除那些红色标记?

  • 虽然我喜欢这种方法,但有一件事我是一个新的x.y.x版本的库 . 有没有办法让它与这种方法一起工作?

  • 有没有办法在buildSrc Kotlin类中使用gradle project properties?例如,使用属性文件(例如version.properties)非常常见,而像 rootDir 这样的gradle属性对于获取它们的路径非常有帮助 . 我们可以将 Paths.get("").toAbsolutePath().toString() 用于此目的,但它不是一个干净的解决方案 .

  • 您对这种方法有何看法?