问题标签 [kapt]

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 投票
1 回答
867 浏览

android - 很长的 gradle 构建时间 - Android

我有一个多模块项目。我用kotlin + dagger 2 + databindingv2. 使用最新的3.2 android studio.

但是,每当我incremental build通过更改一个模块中的某些内容来执行时,生成的其他一些模块(不依赖于更改的模块)数据绑定类会发生更改,从而在该模块上调用 kapt。从而增加构建时间。

有没有人遇到过这个问题?

有什么解决办法吗?

0 投票
0 回答
1125 浏览

android - 添加“应用插件:kotlin-kapt”无法构建

我创建了一个支持 Kotlin 的新 Android 项目。当我尝试添加 apply plugin: 'kotlin-kapt'到 build.gradle 文件时,Gradle 无法同步项目。这是错误:

我做了一些研究,发现 targetSdkVersion 可能是问题所在。我现在使用的是 SDK 28,问题还没有消失。我想了解的是,我有一个这样的块:

如果没有在顶部应用插件,这可以很好地构建。有必要申请kapt插件吗?如果是,我该如何解决上面的错误?谢谢。

0 投票
0 回答
53 浏览

android - 使用数据绑定 XML 文件中生成的类

我对项目构建有疑问。我编写了自己的注释处理器。它正在基于其他无上下文类生成助手类以与 Android 上下文一起使用。此生成的类旨在在使用数据绑定的 XML 文件中使用。我使用 Kotlin 和 kapt。所以假设我有一堂课Helper。我的注释处理器生成HelperAndroid. 在我的数据绑定 XML 布局中,我有<import type="package.HelperAndroid" />.

我的问题是在第一次编译期间出现错误:****/ data binding error ****msg:Cannot resolve type for HelperAndroid file:path/to/xml/file.xml loc:lines ****\ data binding error ****. 但是在 Android Studio 的构建窗口中,我可以看到我的HelperAndroid类是在引发此错误之前生成的(我将Diagnostic.Kind.NOTE日志添加到控制台)。在第二次尝试项目编译成功。

有没有办法强制注释处理器的顺序?

0 投票
2 回答
452 浏览

android - 无法将 Kotlin-kapt 与 kotlin/native 一起使用

在通用 kotlin/native 模块中使用时,编译器无法识别任何 kapt 依赖项

0 投票
1 回答
916 浏览

kotlin - 使用 Room 构建时出错:kapt 发生异常:java.lang.IllegalArgumentException:void 无法转换为元素

在构建使用 Room 库、用于依赖注入的 Dagger 和 Kotlin 的项目时,我遇到了这个错误:

[kapt] 发生异常:java.lang.IllegalArgumentException: voidcannot be convert to an Element

这是我的代码:

这是我如何使用 DAO 的示例:

如何修复此构建错误?

0 投票
4 回答
2556 浏览

android - 未解决对 DaggerApplicationComponent 的引用

我无法处理与 Dagger 及其生成组件相关的错误。

调用组件的地方是这样的

在 gradle 构建文件中,我设置了:

存根生成也已打开并kotlin-kapt已应用

有什么想法有什么问题吗?

0 投票
0 回答
354 浏览

android - bazel 支持 kapt 吗?

gradle 中,我使用 Realm 和 Dagger 库。这些库需要使用 kapt 注释来生成它们的类。

我如何在Bazel中使用此注释?

0 投票
2 回答
1263 浏览

android - CircleCI 2.0 Android 构建总是失败

我在 Android 项目代码库的 CircleCI 2.0 配置中有以下内容。

gradle.properties 文件中几乎没有其他属性

Gradle 包装器版本如下。

Gradle Android 插件。

以下是构建变体配置。

开发机器是 MacOS High Sierra:10.13.6,3.5 GHz Intel Core i5 CPU,32 GB 2400 MHz DDR4 RAM。

这是正在发生的事情。

根据给定的风味维度,构建变体的顺序是按时间顺序排列的,因此以下八个是由 gradle 按确切顺序创建的。

  • 免费亚马逊调试
  • 免费亚马逊发布
  • 免费谷歌调试
  • 免费谷歌发布
  • 付费亚马逊调试
  • 付费亚马逊发布
  • 付费谷歌调试
  • 付费谷歌发布

这些构建变体中的每一个都有一个任务依赖列表。基于任务依赖性,这就是正在发生的事情。

  • kaptFreeAmazonDebugKotlin 执行没有错误。
  • kaptFreeAmazonReleaseKotlin 失败并显示以下堆栈跟踪,但不会突然终止构建。

使用 Kotlin compile daemon 编译不成功 java.rmi.UnmarshalException: Error unmarshaling return header; 嵌套异常是:在 sun.rmi.server.UnicastRef.invoke(UnicastRef.java:161) 在 java.rmi.server 的 sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:236) 的 java.io.EOFException。 RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:227) at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:179) at com.sun.proxy.$Proxy106.compile(Unknown Source) at org.jetbrains.kotlin.compilerRunner .GradleCompilerRunner.nonIncrementalCompilationWithDaemon(GradleKotlinCompilerRunner.kt:256) 在 org.jetbrains.kotlin.compilerRunner.GradleCompilerRunner。concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java: 55) 在 java.lang.Thread.run(Thread.java:748) 引起:java.io.EOFException 在 java.io.DataInputStream.readByte(DataInputStream.java:267) 在 sun.rmi.transport.StreamRemoteCall.executeCall (StreamRemoteCall.java:222) ... 65 更多编译后无法清除 jar 缓存,可能守护进程已经关闭:java.rmi.ConnectException: Connection denied to host: 127.0.0.1; 嵌套异常是:java.net.ConnectException:连接被拒绝(连接被拒绝)无法连接到 kotlin 守护进程。使用后备策略。org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) 处的 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 处的 ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)在 java.lang.Thread.run(Thread.java:748) 引起:java.io.EOFException 在 java.io.DataInputStream.readByte(DataInputStream.java:267) 在 sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall .java:222) ... 65 更多 编译后无法清除 jar 缓存,可能守护进程已经关闭:java.rmi.ConnectException: Connection denied to host: 127.0.0.1; 嵌套异常是:java.net.ConnectException:连接被拒绝(连接被拒绝)无法连接到 kotlin 守护进程。使用后备策略。org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) 的 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 的 ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)在 java.lang.Thread.run(Thread.java:748) 引起:java.io.EOFException 在 java.io.DataInputStream.readByte(DataInputStream.java:267) 在 sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall .java:222) ... 65 更多 编译后无法清除 jar 缓存,可能守护进程已经关闭:java.rmi.ConnectException: Connection denied to host: 127.0.0.1; 嵌套异常是:java.net.ConnectException:连接被拒绝(连接被拒绝)无法连接到 kotlin 守护进程。使用后备策略。runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) at java .lang.Thread.run(Thread.java:748) 引起:java.io.EOFException at java.io.DataInputStream.readByte(DataInputStream.java:267) at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java :222) ... 65 更多编译后无法清除 jar 缓存,可能守护进程已经关闭:java.rmi.ConnectException: Connection denied to host: 127.0.0.1; 嵌套异常是:java.net.ConnectException:连接被拒绝(连接被拒绝)无法连接到 kotlin 守护进程。使用后备策略。runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) at java .lang.Thread.run(Thread.java:748) 引起:java.io.EOFException at java.io.DataInputStream.readByte(DataInputStream.java:267) at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java :222) ... 65 更多编译后无法清除 jar 缓存,可能守护进程已经关闭:java.rmi.ConnectException: Connection denied to host: 127.0.0.1; 嵌套异常是:java.net.ConnectException:连接被拒绝(连接被拒绝)无法连接到 kotlin 守护进程。使用后备策略。concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) at java.lang.Thread.run(Thread.java:748)原因:java.io.EOFException at java.io.DataInputStream.readByte(DataInputStream.java:267) at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:222) ... 65 更多无法清除 jar 缓存编译后,可能守护进程已经关闭:java.rmi.ConnectException: Connection denied to host: 127.0.0.1; 嵌套异常是:java.net.ConnectException:连接被拒绝(连接被拒绝)无法连接到 kotlin 守护进程。使用后备策略。concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) at java.lang.Thread.run(Thread.java:748)原因:java.io.EOFException at java.io.DataInputStream.readByte(DataInputStream.java:267) at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:222) ... 65 更多无法清除 jar 缓存编译后,可能守护进程已经关闭:java.rmi.ConnectException: Connection denied to host: 127.0.0.1; 嵌套异常是:java.net.ConnectException:连接被拒绝(连接被拒绝)无法连接到 kotlin 守护进程。使用后备策略。concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) at java.lang.Thread.run(Thread.java:748) 由:java.io.EOFException at java.io.DataInputStream.readByte(DataInputStream.java: 267) 在 sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:222) ... 65 更多编译后无法清除 jar 缓存,可能守护进程已经关闭:java.rmi.ConnectException:连接拒绝主机:127.0 .0.1; 嵌套异常是:java.net.ConnectException:连接被拒绝(连接被拒绝)无法连接到 kotlin 守护进程。使用后备策略。concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) at java.lang.Thread.run(Thread.java:748) 由:java.io.EOFException at java.io.DataInputStream.readByte(DataInputStream.java: 267) 在 sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:222) ... 65 更多编译后无法清除 jar 缓存,可能守护进程已经关闭:java.rmi.ConnectException:连接拒绝主机:127.0 .0.1; 嵌套异常是:java.net.ConnectException:连接被拒绝(连接被拒绝)无法连接到 kotlin 守护进程。使用后备策略。readByte(DataInputStream.java:267) at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:222) ... 65 更多编译后无法清除 jar 缓存,可能守护进程已经关闭:java.rmi.ConnectException:连接拒绝主机:127.0.0.1;嵌套异常是:java.net.ConnectException:连接被拒绝(连接被拒绝)无法连接到 kotlin 守护进程。使用后备策略。readByte(DataInputStream.java:267) at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:222) ... 65 更多编译后无法清除 jar 缓存,可能守护进程已经关闭:java.rmi.ConnectException:连接拒绝主机:127.0.0.1;嵌套异常是:java.net.ConnectException:连接被拒绝(连接被拒绝)无法连接到 kotlin 守护进程。使用后备策略。

  • kaptPaidAmazonDebugKotlin 与上述完全相同的堆栈跟踪失败,并且还突然终止了 gradle 构建。

我已经尝试了我能想到的 gradle 选项和 java 选项和 docker 选项的所有可能组合,我可以尝试在 Internet 上找到,但没有任何帮助。

这些故障仅发生在 Cloud 上的 CircleCI 2.0 或具有给定 Docker-image 的 CircleCI CLI 中。本地构建的 gradle 是稳定的。

任何指向解决方案的指针将不胜感激。

0 投票
1 回答
3549 浏览

android-studio - 错误:将 Android Studio 更新到 3.2 后,无法更改配置“:android:kapt”的属性

今天我将 Android Studio 更新到 3.2 并收到此错误:

我已经尝试搜索一些类似的错误,以“无法更改配置的属性......在它被解决后”,但它们都不适合我。

我在 gradle.properties 中将 configureOnDemand 设置为 false,并且我的两个存储库块都如下所示:

更新:我将其范围缩小到将 build gradle 更新到 3.2 的原因。所以我现在必须使用 3.1。

0 投票
4 回答
18136 浏览

android - 找不到 Glide 的方法 kapt()

我有上面的 gradle 配置,但我仍然得到

有人可以告诉我我哪里出错了吗?我在这里先向您的帮助表示感谢