问题标签 [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.
android-studio - Android studio 3.1 beta DataBinding 和 kapt
我正在尝试实现一个新功能“您现在可以将 LiveData 对象用作数据绑定表达式中的可观察字段”,正如文档所述https://androidstudio.googleblog.com/2017/12/android-studio-31-canary -6-is-now.html 下载 AS 3.1 beta 后,我无法编译我的项目,我收到不同的消息,例如“在项目上找不到参数 [com.android.databinding:compiler:2.3.0] 的方法 kapt()”: org.gradle.api.Project 类型的应用程序”
这是我的gradle文件:
应用程序.gradle
真的很郁闷(
kotlin - 在 kapt 中检测单例
我正在为 Kotlin 编写一个注释处理器,它需要知道如何调用方法,即是否需要构造一个类。
以下适用于 Java 代码、值和@JvmStatic
-labeled 代码,但不适用于 Kotlinobject Foo {}
单例:
检测是否可以在不构造类的情况下调用方法的最佳方法是什么?
annotations - KAPT(Kotlin 注释处理)是否支持 Kotlin-JS?
我看到一个例子解释了 Kotlin JVM 的 KATP,它正在工作。
我想知道它是否支持 Kotlin JS?有什么例子吗?
android - 无法在 Kotlin 中构建注释处理器
我目前正在尝试在 Kotlin 中为 Android 编写注释处理器。项目结构如下:
项目/build.gradle
注释/build.gradle
示例/build.gradle
注释.kt
注释处理器.kt
使用 kapt 构建中断 sample:javaPreCompileDebug 并显示以下消息:
当我用 annotationProcessor 替换 kapt 时,构建在 sample:transformClassesWithInstantRunForDebug 上中断,并显示以下消息:
当我禁用即时运行时,一切正常。
我现在的问题是,我的配置哪里出错了?我遵循了这样的示例项目,我看到的唯一重大区别是注释模块分为两个(运行时和编译器)。但错误消息表明 Kotlin 或 Instant Run 存在问题。
android - 每次代码更改时都会重新生成 DataBindingInfo.java
我正在开发相当大的多模块 Android 项目,该项目使用 Data Binding、Dagger 2 和 Java 与 Kotlin 混合。
在项目“代码”文件(.java 和 .kt 文件,包括活动、自定义类等)发生最细微的变化后,构建时间会很长(最多 2 分钟)。即使我添加新行之类的更改或修改注释中的一个字符,也会发生这种情况。
我确实使用 --info 参数运行了 Gradle 脚本并得到了以下提示,它“挂起”了以下任务:
任务 ':AppName:kaptDebugKotlin' 的构建缓存键是 1a3a53e5f9b0934ab50a25c0133055f2 任务 ':AppName:kaptDebugKotlin' 的最新检查耗时 0.0 秒。它不是最新的,因为:输入属性“源”文件 /Users/username/Android/project-directory/AppName/build/generated/source/dataBinding/debug/android/databinding/layouts/DataBindingInfo.java 已更改. 输入属性“源”文件 /Users/username/Android/project-directory/AppName/src/main/java/com/package/to/my/activity/SomeActivity.java 已更改。
生成的 DataBindingInfo.java 文件仅包含一个 buildId:
每次代码发生任何变化时,buildId 哈希值都会发生变化。
该项目使用 Crashlytics,但我为调试构建禁用了它。
这种行为的原因可能是什么?
编辑:即使 Android Studio 关闭并且我正在外部编辑器中进行更改并从命令行运行构建,也会在项目中重新生成 buildId。
android - Kotlin + Databinding 在输入“??”时没有可行的选择
请原谅我糟糕的英语。
我正在使用 AndroidStudio3.1.1,我尝试使用数据绑定我的项目kotlin
,但是当我尝试运行项目时出现错误。我收到的错误消息如下:
e: [kapt] 发生异常:android.databinding.tool.util.LoggedErrorException: 发现数据绑定错误。****/数据绑定错误****味精:语法错误:输入'??'没有可行的替代方案 文件:/Users/eraise/Code/Demo/app/src/main/res/layout/layout_main.xml loc:20:28 - 20:64 ****\数据绑定错误****
我可以apk
在终端到期命令上编译:./gradlew assembleDebug,
效果很好。
我的顶级 build.gradle 具有以下配置:
我在应用程序目录中的 build.gradle(仅相关部分):
我的 layout_main.xml:
上线错误:android:text='@{"测试" + version??"unknow", default=版本号}'
LayoutMainBinding 片段:
如果不使用 kotlin,我可以正确运行
android - 解析失败:Landroid/databinding/DataBindingComponent
我的项目中有一个 kotlin android 库模块,我正在尝试使用 DataBinding 库。我正在使用 DataBindingComponent 进行一些图像加载。编译时一切正常,创建了生成的 DataBindingComponent 接口,我可以实现它并将其注入。但是,在运行时,应用程序崩溃:
从检查应用程序的 apk 和库模块的 aar 来看,似乎没有包含 DataBindingComponent。
一些代码片段:
构建.gradle
图像绑定适配器
数据绑定组件的使用
android - 如何详细描述构建 android kotlin 项目?
我有一个 android kotlin 项目,其增量构建时间非常巨大。如果我按Make project
,等到构建完成并Make project
再次按,则构建需要大约 50 秒,尽管我没有做任何更改。
--profile gradle 选项揭示了这一点:app:kaptDebugKotlin
并:app:processDebugResources
花费了最多的时间(每个需要大约 20 秒)。
我怎样才能确定这是什么原因?顺便提一句。这是我的 gradle.properties
java - 带有 Java 和 Kotlin 文件、kapt 或 annotationProcessor 的 Android 项目?
我想知道在混合Java和Kotlin文件的Android项目中,我们是否必须使用 annotationProcessor 或 kapt,或两者都使用?
在我的理解中, annotationProcessor必须用于使用注解进行代码生成的Java文件,而kapt必须用于使用注解进行代码生成的Kotlin文件。
我有一个混合两种语言的项目,我只是用 kapt 替换了 build.gradle 中的所有 annotationProcessor 依赖项。令人惊讶的是,它构建并且似乎运行正确,但我不明白为什么 kapt 即使使用 Java 文件也能很好地工作......
有人可以向我解释吗?
谢谢
android - 数据绑定注释处理器 kapt 警告
在我的应用程序模块的 build.gradle 中,我添加了
但我仍然收到编译器警告
一切正常,我只是讨厌到处发出警告。
任何帮助深表感谢!