我正在尝试将 Groovy 用于 Android 项目,我的首要任务是实现全局扩展。
Intellisense 工作正常并且编译正常,但是当它遇到我的方法时出现运行时异常
groovy.lang.MissingMethodException: No signature of method
我在扩展文件中列出了扩展类。
需要做什么来确保扩展在运行时被注册和使用?
编辑:说真的,不管是谁投了反对票 - 关于这些东西的文档在哪里?我又不是没有花几个小时试图弄明白这一点。
最佳答案
这个项目似乎成功了: SwissKnife on Github
它使用 gradle 构建 Android 库。我会尝试使用这些 gradle 构建脚本作为模板。
向 Groovy 运行时注册扩展的关键是存在
org.codehaus.groovy.runtime.ExtensionModule
在库中输入 META-INF/services。
在 SwissKnife 子项目中,它位于 src/main/resources 目录中。这遵循 Gradle Groovy/Android 插件使用的标准约定。
关于java - Android 中的 Groovy 扩展模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29807479/