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