Как запустить сценарий Kotlin на хосте сценариев приложения AndroidAndroid

Форум для тех, кто программирует под Android
Ответить
Гость
 Как запустить сценарий Kotlin на хосте сценариев приложения Android

Сообщение Гость »


Я хочу запустить скрипт Kotlin (в строковой форме) в Android:

class MainActivity : AppCompatActivity() { переопределить fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) val engine = KotlinJsr223DefaultScriptEngineFactory().getScriptEngine() engine.eval("значение x =3") val result = engine.eval("x+2") Log.d("test", "onCreate: result=$result") } } добавленная мной зависимость:

реализация "org.jetbrains.kotlin:kotlin-scripting-jsr223:1.4.0" реализация "org.jetbrains.kotlin:kotlin-script-runtime:1.4.0" реализация "org.jetbrains.kotlin:kotlin-compiler-embeddable:1.4.0" Но я не могу скомпилировать код, появляется ошибка «Дублированный класс»:

Дубликат класса org.jetbrains.kotlin.daemon.common.WallTotalProfiler найден в модулях jetified-kotlin-daemon-client-1.4.0 (org.jetbrains.kotlin:kotlin-daemon-client:1.4.0) и jetified-kotlin-daemon-embeddable-1.4.0 (org.jetbrains.kotlin:kotlin-daemon-embeddable:1.4.0) Если я удалю зависимость kotlin-compiler-embeddable, ошибка дублирующего класса исчезнет. Но произойдет новая ошибка:

Невозможно получить доступ к «javax.script.ScriptEngineFactory», который является супертипом «kotlin.script.experimental.jsr223.KotlinJsr223DefaultScriptEngineFactory». Проверьте путь к классам вашего модуля на предмет отсутствующих или конфликтующих зависимостей. Как я могу это сделать?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»