在Android上的运行时将字符串编译为代码


问题内容

我尝试在Android上的Janino上使用这些东西,并得出结论说,它们根本无法在Dalvik VM中运行。

所以我只想问一个简单的问题:在 Android上
,是否有可能在运行时编译包含代码的字符串以供应用程序使用。如果是这样,是否有让我这样做的库和/或您可以共享一个代码示例来做到这一点?

对于 (一个非常简单的) 示例,如果我有一个包含以下内容的String对象:

public class Adder{

     int x;
     int y;

     public Adder(int x,int y) {
     this.x = x;
     this.y = y;
     }

     public int add() { return x+y;}

}

作为一根巨大的弦线。有没有一种方法可以处理它以创建Adder对象的实例,以便可以add()通过Reflection API 调用该方法?

编辑 我尝试了beanshell解释,但是事实证明它太慢了。我正在寻找更快的东西,就像詹尼诺一样


问题答案:

ImagePlayground是一个开源Android应用程序,它使用Dexmaker和自定义编程语言来完成此任务