Компиляция кода Java под Android во время выполнения
У меня есть имя класса String и String, которые содержат код класса. Например, "Пример" - это имя класса, а
public class Example {
public void example () {System.out.println ("Hello world!"); }
}
Код класса.
Я посмотрел на библиотеку Dexmaker, но не понял, возможно ли скомпилировать сгенерированный код в нее. И вопрос только в том, как скомпилировать строку кода под Android?
2 ответа
Есть только один верный путь: использование DexMaker. Все примеры вы можете найти в вики DexMaker и особенно для текущей проблемы (время генерации кода на Android).
Не уверен, если это вообще возможно при компиляции во встроенной системе, но определенно вы можете проанализировать и запустить код с использованием beanshell: http://www.beanshell.org/
Он легкий и легко встраивается в ваше приложение. Затем вы можете создать экземпляр сгенерированного класса и запустить все, что положите внутрь.