为什么Android的新功能(原始数据存储)仍在生成Java代码而不是Kotlin?

为什么Android的新功能(原始数据存储)仍在生成Java代码而不是Kotlin?,android,kotlin,protocol-buffers,Android,Kotlin,Protocol Buffers,我正在调查 implementation "androidx.datastore:datastore-core:1.0.0-alpha01" implementation "com.google.protobuf:protobuf-javalite:3.10.0" 通过这个 我不明白为什么关联的数据存储生成的类是Java 我以为谷歌宣布Kotlin已经取代Java成为主要的Android开发语言 我觉得Kotlin比Java有很多优势 proto缓冲

我正在调查

implementation  "androidx.datastore:datastore-core:1.0.0-alpha01"
implementation  "com.google.protobuf:protobuf-javalite:3.10.0"
通过这个

我不明白为什么关联的数据存储生成的类是Java

我以为谷歌宣布Kotlin已经取代Java成为主要的Android开发语言

我觉得Kotlin比Java有很多优势


proto缓冲区不支持Kotlin的问题吗?

我可以很快回答

根据您共享的codelab链接,如果您访问第一行,则表明您的答案所依赖的内容:

协议缓冲区是序列化结构化数据的机制。你 定义一次数据的结构,然后 编译器生成源代码,以便轻松地编写和读取结构化的 数据

所以,基本上在幕后,库正在使用代码生成器插件来生成protobuf使用项目所需的类。(是的,您可以将同样的事情与数据绑定联系起来,在数据绑定中,您在xml上编写代码,并且在后台有一个生成的类为您实际实现该逻辑)

这就是“生成的类在Java中”的原因。它与此上下文中的源代码无关(Java/Kotlin对库的支持)。任何用Java编写的东西都可以无缝地在Kotlin上工作,反之亦然(考虑Android开发环境)

旁注:您还可以将其与注释处理器联系起来,在这里,我们实际上根据任何标准的注释生成Java代码