To use LispWorks for Android Runtime, you need to have at least a minimal Android project written in Java, to load and initialize LispWorks. CAPI is not supported on Android, so any GUI part will need to be written in Java too.
To use the Android interface you need to deliver your application by the special image lispworks-7-0-0-arm-linux-android
. This image does not contain the GUI part of LispWorks, but contains all the non-GUI parts.
This special image is an ARM image, and must be run on ARM architecture. That can be either an ARM machine, or an ARM emulator. To deliver a LispWorks for Android Runtime image using the QEMU emulator, you run the special image using the via the shell script examples/android/run-lw-android.sh
The Android interface relies on the Java interface, which is already loaded into the special image. You will typically also use the Java interface in your own code to make calls to Java methods, and define Lisp proxies that can be used inside Java, though in principle the whole interface may be done via direct calls from Java into Lisp, without using the Java interface explicitly.
The interface for Android includes the following:
com.lispworks
package to support the Java/Lisp interface. This includes these classes:Defines the method com.lispworks.Manager.init to load and initialize LispWorks, error reporting interface and some basic utilities.
Defines direct callers into Lisp, and support for Lisp proxies (which are Java proxies that call Lisp functions). LispCalls
is really part of the general LispWorks Java Interface.
com.lispworks.BugFormLogsList and com.lispworks.BugFormViewer
Two activities to help display errors during development.
android-funcall-in-main-thread
android-funcall-in-main-thread-list
android-get-current-activity
android-main-thread-p
LispWorks User Guide and Reference Manual - 13 Feb 2015