如何在Android环境下运行groovy?

时间:2014-08-16 03:42:15

标签: android groovy

我试图在Android中运行groovy程序。我用:

new GroovyShell(aBinding).evaluate(code)

运行程序,其中code是Groovy代码。当我使用code运行此程序时:

println "Hello"

我收到的错误是:

can't load this type of class file

08-16 09:10:48.502  31488-31488/com.groovy.console W/System.err﹕ org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
08-16 09:10:48.502  31488-31488/com.groovy.console W/System.err﹕ General error during class generation: can't load this type of class file
08-16 09:10:48.503  31488-31488/com.groovy.console W/System.err﹕ [ 08-16 09:10:48.503 31488:0x7b00 W/System.err ]
    java.lang.UnsupportedOperationException: can't load this type of class file
08-16 09:10:48.503  31488-31488/com.groovy.console W/System.err﹕ at java.lang.VMClassLoader.defineClass(Native Method)
08-16 09:10:48.503  31488-31488/com.groovy.console W/System.err﹕ at java.lang.ClassLoader.defineClass(ClassLoader.java:292)
我在哪里弄错了?

提前致谢。

1 个答案:

答案 0 :(得分:0)

在Android上执行之前,编译脚本的字节码需要转换为DEX字节码。

有一个grooidshell实现正是这样做的:

https://github.com/melix/grooidshell-example