在Android中将字符串转换为Java源代码

时间:2012-09-10 20:32:06

标签: java android

有没有人知道是否可以将String /文件转换为java源,可以在运行时使用JavaCompiler之类的东西编译。看起来Java 6可以实现这一点,但我还没有看到有人说JavaCompiler在Android中可用。

基本上我的主要目标是将字符串或文件文本转换为Android中的源代码。有谁知道怎么做?

谢谢!

3 个答案:

答案 0 :(得分:2)

Android运行Dalvik而不是Java 6. JavaCompiler不包含在标准Dalvik发行版中,因此您无法使用它。 Dalvik运行时是为嵌入式系统设计的,因此它不那么动态,动态编译代码是它不应该做的事情之一。

尝试Hyangelo建议的内容,或Google的其他脚本库。例如,Clojure。 ;)

答案 1 :(得分:0)

您可以执行一些高级操作并设置Web服务来为您编译源代码。此服务将接受java源代码,将其编译为dalvik编译类并将其作为二进制文件返回。

然后可以将此二进制文件添加到自定义类加载器中,如下所述:http://android-developers.blogspot.com/2011/07/custom-class-loading-in-dalvik.html

虽然你没有在手机上编译,但是这会在运行时编译,一旦插入你的类加载器,就可以执行了。

答案 2 :(得分:0)

技术上可行但不容易。如果您查看Terminal IDE,他们会打包所有工具,以便从设备上的源代码编译Android字节代码。您可以通过将字符串写入磁盘上的文件,编译它,然后使用DexClassLoader从已编译的JAR文件或APK加载类来采取类似的方法。