public inbox for kawa@sourceware.org
 help / color / mirror / Atom feed
* embedding kawa into android app
@ 2017-08-26  0:14 Sonny To
  2017-08-26 15:13 ` Sonny To
  0 siblings, 1 reply; 2+ messages in thread
From: Sonny To @ 2017-08-26  0:14 UTC (permalink / raw)
  To: kawa

Hi,
I want to embed kawa into android app and eval some scheme. I don't want to
write the app in kawa just yet. I'm just experimenting with embedding kawa
first. I was using clojure on android but the clojure runtime is too big
and takes too long to initialize. Kawa seems lean and mean.

I used android studio and used a template helloworld. it compiles and runs
fine. then i added kawa.jar into app/libs directory, recompile and re-ran
it and got this stack trace

  java.lang.RuntimeException: Unable to instantiate activity
  ComponentInfo{datom.world.myapplication/datom.world.myapplication.MainActivity}:
  java.lang.ClassNotFoundException: Didn't find class
  "datom.world.myapplication.MainActivity" on path: DexPathList[[zip file
  "/data/app/datom.world.myapplication-2/base.apk", zip file
  "/data/app/datom.world.myapplication-2/split_lib_dependencies_apk.apk", zip
  file "/data/app/datom.world.myapplication-2/split_lib_slice_0_apk.apk", zip
  file "/data/app/datom.world.myapplication-2/split_lib_slice_1_apk.apk", zip
  file "/data/app/datom.world.myapplication-2/split_lib_slice_2_apk.apk", zip
  file "/data/app/datom.world.myapplication-2/split_lib_slice_3_apk.apk", zip
  file "/data/app/datom.world.myapplication-2/split_lib_slice_4_apk.apk", zip
  file "/data/app/datom.world.myapplication-2/split_lib_slice_5_apk.apk", zip
  file "/data/app/datom.world.myapplication-2/split_lib_slice_6_apk.apk", zip
  file "/data/app/datom.world.myapplication-2/split_lib_slice_7_apk.apk", zip
  file "/data/app/datom.world.myapplication-2/split_lib_slice_8_apk.apk", zip
  file
  "/data/app/datom.world.myapplication-2/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/datom.world.myapplication-2/lib/arm64,
  /system/lib64, /vendor/lib64]]

  at
  android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2568)

  at
  android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2727)

  at android.app.ActivityThread.-wrap12(ActivityThread.java)

  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1478)

  at android.os.Handler.dispatchMessage(Handler.java:102)

  at android.os.Looper.loop(Looper.java:154)

  at android.app.ActivityThread.main(ActivityThread.java:6121)

  at java.lang.reflect.Method.invoke(Native Method)

  at
  com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)

any insight is greatly appreciated.

thanks,
sonny

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: embedding kawa into android app
  2017-08-26  0:14 embedding kawa into android app Sonny To
@ 2017-08-26 15:13 ` Sonny To
  0 siblings, 0 replies; 2+ messages in thread
From: Sonny To @ 2017-08-26 15:13 UTC (permalink / raw)
  To: kawa

the problem was compiling kawa with jdk1.8. Android doesn't like jdk 1.8

On Sat, Aug 26, 2017 at 3:14 AM, Sonny To <son.c.to@gmail.com> wrote:
> Hi,
> I want to embed kawa into android app and eval some scheme. I don't want to
> write the app in kawa just yet. I'm just experimenting with embedding kawa
> first. I was using clojure on android but the clojure runtime is too big
> and takes too long to initialize. Kawa seems lean and mean.
>
> I used android studio and used a template helloworld. it compiles and runs
> fine. then i added kawa.jar into app/libs directory, recompile and re-ran
> it and got this stack trace
>
>   java.lang.RuntimeException: Unable to instantiate activity
>   ComponentInfo{datom.world.myapplication/datom.world.myapplication.MainActivity}:
>   java.lang.ClassNotFoundException: Didn't find class
>   "datom.world.myapplication.MainActivity" on path: DexPathList[[zip file
>   "/data/app/datom.world.myapplication-2/base.apk", zip file
>   "/data/app/datom.world.myapplication-2/split_lib_dependencies_apk.apk", zip
>   file "/data/app/datom.world.myapplication-2/split_lib_slice_0_apk.apk", zip
>   file "/data/app/datom.world.myapplication-2/split_lib_slice_1_apk.apk", zip
>   file "/data/app/datom.world.myapplication-2/split_lib_slice_2_apk.apk", zip
>   file "/data/app/datom.world.myapplication-2/split_lib_slice_3_apk.apk", zip
>   file "/data/app/datom.world.myapplication-2/split_lib_slice_4_apk.apk", zip
>   file "/data/app/datom.world.myapplication-2/split_lib_slice_5_apk.apk", zip
>   file "/data/app/datom.world.myapplication-2/split_lib_slice_6_apk.apk", zip
>   file "/data/app/datom.world.myapplication-2/split_lib_slice_7_apk.apk", zip
>   file "/data/app/datom.world.myapplication-2/split_lib_slice_8_apk.apk", zip
>   file
>   "/data/app/datom.world.myapplication-2/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/datom.world.myapplication-2/lib/arm64,
>   /system/lib64, /vendor/lib64]]
>
>   at
>   android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2568)
>
>   at
>   android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2727)
>
>   at android.app.ActivityThread.-wrap12(ActivityThread.java)
>
>   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1478)
>
>   at android.os.Handler.dispatchMessage(Handler.java:102)
>
>   at android.os.Looper.loop(Looper.java:154)
>
>   at android.app.ActivityThread.main(ActivityThread.java:6121)
>
>   at java.lang.reflect.Method.invoke(Native Method)
>
>   at
>   com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
>
> any insight is greatly appreciated.
>
> thanks,
> sonny

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2017-08-26 15:13 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-08-26  0:14 embedding kawa into android app Sonny To
2017-08-26 15:13 ` Sonny To

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).