mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2024-11-19 02:53:20 +00:00
44 lines
1.4 KiB
Text
44 lines
1.4 KiB
Text
|
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...
|