README.android
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--
Added the step to edit local properties
     1 ================================================================================
     2 Simple DirectMedia Layer for Android
     3 ================================================================================
     4 
     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 ================================================================================
    26 
    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
    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. Edit project/local.properties to point to the SDK directory
    34 6. Run 'ant debug' in android/project. This compiles the .java and eventually 
    35 creates a .apk with the C source embedded
    36 7. 'ant install' will push the apk to the device or emulator (if connected)
    37 
    38 
    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