author | Sam Lantinga <slouken@libsdl.org> |
Tue, 04 Jan 2011 12:39:10 -0800 | |
changeset 4954 | 144d9df7e611 |
parent 4727 | 8087bb208acf |
child 4964 | 6c645018741e |
permissions | -rw-r--r-- |
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 |
|
4954
144d9df7e611
Added the step to edit local properties
Sam Lantinga <slouken@libsdl.org>
parents:
4727
diff
changeset
|
33 |
6. Edit project/local.properties to point to the SDK directory |
144d9df7e611
Added the step to edit local properties
Sam Lantinga <slouken@libsdl.org>
parents:
4727
diff
changeset
|
34 |
6. Run 'ant debug' in android/project. This compiles the .java and eventually |
4725 | 35 |
creates a .apk with the C source embedded |
4727 | 36 |
7. 'ant install' will push the apk to the device or emulator (if connected) |
4725 | 37 |
|
38 |
||
4727 | 39 |
|
40 |
||
41 |
================================================================================ |
|
42 |
Known issues |
|
43 |
================================================================================ |
|
44 |
||
45 |
- SDL audio (although it's mostly written, just not working properly yet) |
|
46 |
- TODO. I'm sure there's a bunch more stuff I haven't thought of |