newlisp/doc/ANDROID.txt

93 lines
3 KiB
Text

Fore the following download: http://www.newlisp.org/code/newlisp-ndk-10.4.5.tgz
From: http://newlispfanclub.alh.net/forum/viewtopic.php?f=2&p=20877&sid=a41fb6a4fd35618d8266d88acb102297#p20877
by kanen » Fri Dec 21, 2012 7:23 am
We have it working. It's stable.
It is missing (semaphore), which requires libraries that do not exist on Android. I'm attaching the full source, hoping Lutz will add everything necessary to make this work as part of the main newlisp download.
Steps to compile:
1. Download the android-ndk - http://developer.android.com/tools/sdk/ndk/index.html
2. Make sure your environment works (see above documentation) on your platform
3. Unpack and put newlisp-ndk in the android-ndk directory
4. Compile newlisp
Code:
kanen (~/Code/android-ndk)$ ./ndk-build -C newlisp-ndk/
make: Entering directory `/Users/kanen/Code/android-ndk/newlisp-ndk'
Compile thumb : newlisp <= newlisp.c
Compile thumb : newlisp <= nl-symbol.c
Compile thumb : newlisp <= nl-math.c
Compile thumb : newlisp <= nl-list.c
Compile thumb : newlisp <= nl-liststr.c
Compile thumb : newlisp <= nl-string.c
Compile thumb : newlisp <= nl-sock.c
Compile thumb : newlisp <= nl-import.c
Compile thumb : newlisp <= nl-xml.c
Compile thumb : newlisp <= nl-web.c
Compile thumb : newlisp <= nl-matrix.c
Compile thumb : newlisp <= nl-debug.c
Compile thumb : newlisp <= pcre.c
Compile thumb : newlisp <= nl-filesys.c
Executable : newlisp
Install : newlisp => libs/armeabi/newlisp
make: Leaving directory `/Users/kanen/Code/android-ndk/newlisp-ndk'
The binary gets put into libs/armeabi/newlisp. From there, you just have to build an Android emulator and you can copy newLisp over to it.
For that, you need the android-sdk - http://developer.android.com/sdk/index.html
First, list the targets and find the armeabi version you want to use. I use Target 4, which isn't the most recent, but is the most widely deployed, at API level 15.
Code:
kanen (~/Code/android-sdk/tools)$ ./android list targets
Available Android targets:
id: 4 or "Google Inc.:Google APIs:15"
Name: Google APIs
Type: Add-On
Vendor: Google Inc.
Revision: 2
Description: Android + Google APIs
Based on Android 4.0.3 (API level 15)
ABIs : armeabi-v7a
Now, generate an emulator from that target platform:
Code:
kanen (~/Code/android-sdk/tools)$ ./android create avd -n MyEmulator -t 4
Then, run the emulator:
Code:
kanen (~/Code/android-sdk/tools)$ ./emulator -avd TrustMe
Attach a shell to the emulator:
Code:
kanen (~/Code/android-sdk/platform-tools)$ ./adb shell
Make sure everything's ok and create a directory for newLisp:
Code:
# mkdir /data/nl
# chmod 777 /data/nl
# exit
Copy newLisp to the emulator:
Code:
./adb push ~/Code/android-ndk/newlisp-ndk/libs/armeabi/newlisp /data/nl
Go back into the shell and run newLisp:
Code:
kanen (~/Code/android-sdk/platform-tools)$ ./adb shell
# cd /data
# cd trustpipe
# ls
newlisp
# ./newlisp
newLISP v.10.4.5 on Linux IPv4/6, execute 'newlisp -h' for more info.
>