mirror of
https://git.do.srb2.org/KartKrew/Kart-Public.git
synced 2024-12-27 04:41:23 +00:00
bb20cfd6be
(unfinished, but basics work) |
||
---|---|---|
.. | ||
i_cdmus.c | ||
i_main.c | ||
i_net.c | ||
i_sound.c | ||
i_system.c | ||
i_video.c | ||
i_video.h | ||
jni_main.h | ||
README |
SRB2 for Google Android! SYNOPSIS Port of SRB2 to Android, tested against version 1.6 (donut). I did this with a full Android tree, rather than the NDK thing. BUILDING Assuming a pretty standard Android tree, at $REPO, and the SRB2 tree at $REPO/packages/apps/srb2 (that is, the *whole* SRB2 tree, not just this android/ directory): cd $REPO source build/envsetup.sh # this gives us the mm command, # which is useful for selectively # building only one component. cd packages/apps/srb2 mm An APK is dumped out at (or similar): out/target/product/generic/system/app/SRB2.apk Naturally, an SRB2 APK is architecture specific. Since most Android devices are currently ARMEL, this is pretty okay. NB. It appears that the Java app (the thing that becomes the APK) is *not* rebuilt if changes are only made to libsrb2. Grr. REGENERATION OF JNI HEADERS Whenever the Java classes in org.srb2.nativecode change, the C header files that describe the JNI interface to them need to be regnererated. Make sure you have the project built (so that the jar files are up to date), and then: cd $REPO/out/target/common/obj/APPS/SRB2_intermediates javah -classpath classes.jar -o $REPO/packages/apps/srb2/src/android/jni_main.h org.srb2.nativecode.Main # ... and no, I don't know how to mash all that into the # Android.mk build system...