Hello,
I've done a working Free Pascal android JNI example (with working .apk for current ARM-based Android device of the second device generation (because with VFPv3, so Motorola Droid/Milestone, HTC Desire, Nexus One, Samsung Galaxy S, and so on) inside)
http://vserver.rosseaux.net/stuff/FPCAndroidJNINativeTest.zip
It contains androidprt0.as as replacement for the empty arm/linux dllprt0.as of the FreePascal RTL from the SVN, because otherwise the Android Dalvik VM refuses to load the .so library because of missed/absent global/import/export symbols (_haltproc_eabi, __strptr, __operatingsystem_parameter_argv and so on).
It contains also a own JNI header port from the Android NDK, and own ARM Toolchain hook binaries to inject some command line parameters to the original "as" and "ld" binary calls. For "as": "--march=armv7-a -mfloat-abi=softfp -mfpu=vfp3" and for "ld": "--fix-cortex-a8"
And important FPC parameters are -CpARMv6 -CfVFPV3
I've done it, because i'm needing my own ECMAScript 5th edition engine called BESEN in a Android project of me.
Someone can make maybe a true patch from this for FreePascal for a offical android target support in FreePascal. And my OpenGL ES 2.0 headers (what I did originally for Nokia N900 for Maemo 5) are already in the FPC bugtracker, which should also under Android after a single-line-change of the OpenGL ES library path.
Benjamin 'BeRo' Rosseaux
