java - 我可以知道何时从 Java 或 Kotlin 调用我的库吗?
问题描述
我正在为 Android 开发一个 Kotlin 库。我想为 Kotlin 和 Java 开发人员提供出色的开发人员体验,但是因为我没有无限的资源,所以我需要在它们之间进行优先级排序。
该库正在与我控制的服务器进行交互,因此我可以将元数据添加到网络调用中,这将帮助我了解用户的划分。
但是有没有办法知道我的库何时从 Java VS Kotlin 调用?
我在这个答案中看到可能有一种方法可以检查给定的类,但是作为库所有者,我认为如果不使用反射会增加一些运行时成本,我无法知道哪个类正在调用我自己的类。没有办法在运行时从 JVM 获取元数据,这将表明代码是否是从 Kotlin 编译的(即使以误报为代价,例如检查是否KAPT
在任何时候使用过至少会报告一些 Kotlin用户?)
解决方案
简短的回答:不。
当您的代码运行时,它在这两种情况下都以 Java 字节码编译。
推荐阅读
- notifications - 如何解决某些设备未发送 Expo 推送通知的问题
- python - 烧瓶没有给我错误
- r - 具有多个 Id 和变量的 dcast
- javascript - 双击另一个元素时如何按ID号删除元素?
- sql - 在 Redshift 中解析 JSON 6 级深度
- webdriver-io - 如何使用黄瓜 js 和 webdriver io 自动执行诱惑报告?
- javascript - 一些动作后的语音到文本识别
- python - 坚持将整数转换为罗马数字
- javascript - 将道具从父母传递给孩子并在React中使用地图循环?
- tsql - 如何动态添加 where 子句的一部分?