我正在为Android开发Kotlin库。 我想为Kotlin和Java开发人员提供出色的开发人员体验,但是由于我没有无限的资源,因此需要在这些资源之间进行优先级划分。
该库正在与我控制的服务器进行交互,因此我可以将元数据添加到网络调用中,这将有助于我了解用户的划分情况。
但是有什么方法可以知道何时从Java VS Kotlin调用我的库吗?
我在this answer中看到可能有一种检查给定类的方法,但是作为库所有者,我认为我不知道哪个类在不使用反射的情况下调用自己的类会增加运行时间成本。没有一种方法可以从JVM获取运行时元数据,这将表明代码是否是从Kotlin编译的(即使是以假阴性为代价的,例如检查是否在任何时候使用KAPT
至少报告了一些Kotlin用户?)
答案 0 :(得分:1)
简短回答:否。
在您的代码运行时,两种情况下都使用Java bytcode进行编译。