1 ============================================================================== |
1 ================================================================================ |
2 Simple DirectMedia Layer for Android |
2 Simple DirectMedia Layer for Android |
3 ============================================================================== |
3 ================================================================================ |
4 |
4 |
5 Requirements: Android NDK r4 or later |
5 Requirements: Android NDK r4 or later |
|
6 |
|
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 ================================================================================ |
6 |
26 |
7 Instructions: |
27 Instructions: |
8 1. Edit android/config.cfg to point to the location of the NDK |
28 1. Edit android/config.cfg to point to the location of the NDK |
9 2. Run 'make -f Makefile.android'. If all goes well, libsdl.a should be created |
29 2. Run 'make -f Makefile.android'. If all goes well, libsdl.a should be created |
10 3. Place your application source files in android/testproject/jni |
30 3. Place your application source files in android/project/jni |
11 4. Run 'ndk-build' (a script provided by the NDK). This compiles the C source |
31 4. Edit the Android.mk to include your source files |
12 4. Run 'ant' in android/testproject. This compiles the .java and eventually |
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 |
13 creates a .apk with the C source embedded |
34 creates a .apk with the C source embedded |
14 6. 'ant install' will push the apk to the device or emulator (if connected) |
35 7. 'ant install' will push the apk to the device or emulator (if connected) |
15 |
36 |
16 |
37 |
|
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 |