问题标签 [kotlin-gradle-plugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
672 浏览

unit-testing - 使用 java-test-fixtures 模块时如何从测试中测试声明为“内部”的 kotlin 函数

我尝试在我的 kotlin 项目中使用测试装置。不幸的是,我在工具链的一个组件中遇到了一个奇怪的问题,可能是一个错误(不确定是哪个)。

main通常,声明中的 Kotlin 函数internal可以test从同一包中的单元访问。有许多证据支持这种说法,尤其是Kotlin:使内部函数对单元测试可见

事实上,如果我们有src/main/kotlin/ main.kt

src/test/kotlin/SayHelloTest.kt

使用常规build.gradle.kts成功通过测试:

到目前为止,一切都很好。

但是在插件列表中添加了一行:

测试的构建因以下错误而中断:

我发现 Gradle 中提到了类似的问题 Kotlin Gradle 插件错误跟踪器。不幸的是,我无法从这些问题中提取解决方案。也许,这是一个不同的问题。

为了方便读者,我在 Github 上准备了一个小仓库来演示这个问题。

0 投票
6 回答
4620 浏览

flutter - 无法访问“com.ex.app.MainActivity”的超类型“android.arch.lifecycle.LifecycleOwner”

我在 android studio 中创建了一个新的颤振项目,然后“打开项目”它的 android 部分,我在 MainActivity.kt 中遇到了一个错误,但是它成功构建了。

在此处输入图像描述

我的班级路径是:

在此处输入图像描述

最后我的依赖是:

如果有人可以帮助我,我将不胜感激。

0 投票
1 回答
3014 浏览

kotlin - 让 kotlinx 序列化在多平台项目中工作

我正在按照 github 上的教程在 Kotlin 1.4-M2 的多平台项目中进行 Kotlin seriazliation 测试,但我没有编译序列化位。

这是我的build.gradle.kts

我在一个简单的数据类上试过了

它在抱怨Unresolved reference: kotlinx

是否需要做一些特定的事情才能使 kotlinx 导入工作,或者我应该使用不同版本的序列化程序库?

0 投票
1 回答
1219 浏览

kotlin - kotlin-gradle-plugin 如何使用 'kotlin.code.style' 属性?

Kotlin官方文档指出:

kotlin.code.style=official属性添加到项目根目录的 gradle.properties 文件中。

我试图了解kotlin-gradle-plugin如何处理此属性。

哪个 gradle 任务使用它?
运行时gradle build,我看不到我的代码被重新格式化,即使我故意错误地格式化了我的代码。

我浏览了该插件的 Github 源代码,但无法正确理解它。

谢谢你的帮助。

0 投票
1 回答
232 浏览

android - 如何将显式 API 模式应用于除 app 模块之外的所有模块?

我喜欢将显式 API 模式应用于此 Android 项目 中的所有模块,但模块除外app。通过将以下配置添加到每个模块的build.gradle文件中,这可以正常工作。

但是,我喜欢避免重复声明。因此,我的目标是在项目根目录中的build.gradle文件中对其进行配置。我尝试了以下方法:

这与模块中的插件定义冲突:

原因:org.gradle.api.internal.plugins.PluginApplicationException:无法应用插件“kotlin-android”。
原因:java.lang.IllegalArgumentException:无法添加名称为“kotlin”的扩展,因为已经使用该名称注册了一个扩展。
原因:com.android.build.gradle.internal.BadPluginException:“java”插件已应用,但与 Android 插件不兼容。

有关的

0 投票
2 回答
351 浏览

kotlin - 在不使用 maven 的情况下应用本地 jar-plugin

我想从本地加载我的自定义插件jar。该jar文件编译得很好,当我检查它时,清单和插件类就在那里。

该插件还没有做任何有用的事情,因为它应该是一个概念验证,以确保它确实有效:

然后我尝试在另一个项目中像这样使用它:

但它一直告诉我:

在以下任何来源中都找不到插件 [id: 'asdf', version: '1.4.0']:

我在这里想念什么?我使用 Gradle v6.5。

0 投票
1 回答
470 浏览

kotlin - 如何在 buildSrc 模块中导入 KotlinMultiplatformExtension?

我正在开发一个 kotlin 多平台项目,它有一堆模块。

我写了一个扩展函数,打算在每个模块中使用。扩展函数扩展了KotlinMultiplatformExtension类的功能。现在该代码在每个模块的build.gradle.kts文件中重复。所以我认为将代码移动到buildSrc moudle 并在任何地方重用会很棒。

问题是buildSrc模块内部KotlinMultiplatformExtension没有解决。

KotlinMultiplatformExtension 未解决

我的buildSrc/build.gradle.kts

如果我右键单击KotlinMultiplatformExtensionsomeModule /build.gradle.kts

它需要我:

在此处输入图像描述

所以我猜想在buildSrc/build.gradle.kts中添加一个依赖项应该会有所帮助:

但是添加该结果会导致错误:

有什么想法KotlinMultiplatformExtension可以在buildSrc中使用吗?

0 投票
0 回答
98 浏览

kotlin - 生产模式下的 Kotlin/JS 错误:未捕获的 TypeError:属性描述符必须是对象,未定义

我的反应网络应用程序在 BrowserDevelopmentRun 模式下运行,但 BrowserProductionRun 发生错误导致应用程序无法加载

导致错误的行部分如下所示(exzerpt):

堆栈跟踪

构建.gradle

0 投票
1 回答
26 浏览

gradle - 如何查看可以为 gragle.properties 设置的所有选项

我看过很多 android 示例,发现所有示例都使用了不同选项的混合,gradle.properties并且他们刚刚在文档中给出了这些链接

  1. 摇篮
  2. Kotlin 代码风格
  3. Kotlin kapt 插件
  4. 安卓 X

但在文档中,他们从未真正解释如何查看和查找所有可以设置的选项及其默认值

0 投票
0 回答
231 浏览

kotlin - 如何为 Kotlin 1.4.20 增加 Kotlin Daemon JVM 堆?

我正在使用 Gradle 构建 Kotlin 1.4.20 项目,并且在构建过程中堆内存不足。

我试过了

但是,这个选项似乎在 1.4.20 中不可用,只有 1.5。还有其他方法可以增加守护进程堆内存吗?