4727
|
1 ================================================================================
|
4726
|
2 Simple DirectMedia Layer for Android
|
4727
|
3 ================================================================================
|
4725
|
4
|
|
5 Requirements: Android NDK r4 or later
|
|
6
|
4727
|
7 ================================================================================
|
|
8 How the port works
|
|
9 ================================================================================
|
|
10
|
|
11 - Android applications are Java-based, optionally with parts written in C
|
|
12 - As SDL apps are C-based, we use a small Java shim that uses JNI to talk to
|
|
13 the SDL library
|
|
14 - This means that your application C code must be placed inside an android
|
|
15 Java project, along with some C support code that communicates with Java
|
|
16 - This eventually produces a standard Android .apk package
|
|
17
|
|
18
|
|
19
|
|
20
|
|
21
|
|
22
|
|
23 ================================================================================
|
|
24 Building an app
|
|
25 ================================================================================
|
|
26
|
4725
|
27 Instructions:
|
|
28 1. Edit android/config.cfg to point to the location of the NDK
|
|
29 2. Run 'make -f Makefile.android'. If all goes well, libsdl.a should be created
|
4727
|
30 3. Place your application source files in android/project/jni
|
|
31 4. Edit the Android.mk to include your source files
|
|
32 5. Run 'ndk-build' (a script provided by the NDK). This compiles the C source
|
|
33 6. Run 'ant' in android/testproject. This compiles the .java and eventually
|
4725
|
34 creates a .apk with the C source embedded
|
4727
|
35 7. 'ant install' will push the apk to the device or emulator (if connected)
|
4725
|
36
|
|
37
|
4727
|
38
|
|
39
|
|
40 ================================================================================
|
|
41 Known issues
|
|
42 ================================================================================
|
|
43
|
|
44 - SDL audio (although it's mostly written, just not working properly yet)
|
|
45 - TODO. I'm sure there's a bunch more stuff I haven't thought of
|