Description
hi,
I have filed a smiliar issue in the KawaDroid project.
For a while, I have been working on a Scheme editor for Android. Recently, I managed to hook it to the Kawa evaluator, and I think the result is quite promising:
https://youtube.com/shorts/oOHg74HYau4?feature=share
The editor itself is implemented in Java, because I've been using the all-mighty Termux environment on my phone to build it.
I did so, because I've found the 'buildAPKs' project, which provides build scripts that allow to build APK files on Android devices.
Recently it occurred to me, that if I were using Kawa, I'd be able to work on the editor in itself, which I think would be beneficial in many ways.
However, I know fairly little about Kawa, Java and the Android ecosystem.
When I try to build the KawaHello project using the .jar file from the KawaDroid repo, i.e.
$ java -jar ../KawaDroid/app/libs/kawa.jar -C KawaHello/src/kawa/android/hello.scm
I get the following error:
at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized(Unsafe.java:1155) at java.base/jdk.internal.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:42) at java.base/jdk.internal.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:185) at java.base/java.lang.reflect.Field.acquireFieldAccessor(Field.java:1132) at java.base/java.lang.reflect.Field.getFieldAccessor(Field.java:1113) at java.base/java.lang.reflect.Field.get(Field.java:425)
at gnu.expr.ModuleInfo.setupModuleExp(ModuleInfo.java:196) at kawa.standard.require.importDefinitions(require.java:301) at kawa.standard.require.scanForDefinitions(require.java:197) at kawa.lang.Syntax.scanForm(Syntax.java:57) at kawa.lang.Translator.scanForm(Translator.java:1508) at gnu.kawa.lispexpr.LispLanguage.parse(LispLanguage.java:82) at gnu.expr.Compilation.process(Compilation.java:1935) at gnu.expr.ModuleInfo.loadByStages(ModuleInfo.java:290)
at gnu.expr.ModuleInfo.loadByStages(ModuleInfo.java:272)
at gnu.expr.ModuleInfo.loadByStages(ModuleInfo.java:272) at gnu.expr.ModuleInfo.loadByStages(ModuleInfo.java:272) at gnu.expr.ModuleInfo.loadByStages(ModuleInfo.java:272) at gnu.expr.ModuleInfo.loadByStages(ModuleInfo.java:272)
at gnu.expr.ModuleInfo.loadByStages(ModuleInfo.java:272) at kawa.repl.compileFiles(repl.java:824) at kawa.repl.processArgs(repl.java:444)
at kawa.repl.main(repl.java:871) Caused by: java.lang.ClassNotFoundException: android.view.View at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520) ... 25 more
I haven't followed your build instructions, and will try to figure out how to translate them to Termux, but do you think that building your project in Termux should in principle be possible?