我最近一直在探索如何通过 SL4A 中的 JRuby 访问 Android 的库。我知道可以使用 Ruboto 设计应用程序,但我只想修改一个简单的脚本来访问当前 SL4A 不提供的 API。我可以导入普通的罐子等,但我无法获得 Android 的 API。具体来说,我想访问“android.nfc”。有没有办法做到这一点,我还没有想出或者有可能不工作;SL4A 确实声明 JRuby 提供了一个直接的 API 桥。
谢谢,克莱门特
你能包括你的Jruby代码吗?您是否正确构建了类路径,然后也执行了 java_import ?
我有一个 ruby 文件,仅用于将我的 jar 加载到我在每个名为 java_jars.rb 的 .rb 文件中需要的类路径中,它包含以下内容:
Dir["target/dependency/\*.jar"].each { |jar| require jar }
然后在主 ruby 文件中执行以下操作:
include Java
require 'java_jars'
java_import 'com.package.name.blah.ApiClassName'
def methodName
apiObject = com.package.name.blah.ApiClassName.new
# don't forget methodName becomes method_name in JRuby
apiObject.method_name
end