我试图在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)
我在哪里弄错了?
提前致谢。
答案 0 :(得分:0)
在Android上执行之前,编译脚本的字节码需要转换为DEX字节码。
有一个grooidshell实现正是这样做的: