有没有人知道是否可以将String /文件转换为java源,可以在运行时使用JavaCompiler之类的东西编译。看起来Java 6可以实现这一点,但我还没有看到有人说JavaCompiler在Android中可用。
基本上我的主要目标是将字符串或文件文本转换为Android中的源代码。有谁知道怎么做?
谢谢!
答案 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加载类来采取类似的方法。