我想从用户那里获得一行Java代码,并在Android中执行它。例如:

String strExecutable = " int var; var = 4 + 3"
Object obj = aLibrary.eval(strExecutable);

这不是Java脚本,我想运行Java代码。

是否可以?如果是,怎么办?

我研究了this之类的链接。但是他们是关于JVM而不是Android Dalvik的问题。

最佳答案

您可以尝试BeanShell!这非常容易,并且可以在android上使用。只需使用jar库构建您的应用即可。

import bsh.Interpreter;
private void runString(String code){
    Interpreter interpreter = new Interpreter();
    try {
         interpreter.set("context", this);//set any variable, you can refer to it directly from string
         interpreter.eval(code);//execute code
    }
    catch (Exception e){//handle exception
        e.printStackTrace();
    }
}

09-11 18:55