README.android
changeset 4727 8087bb208acf
parent 4726 9076cdb027af
child 4954 144d9df7e611
equal deleted inserted replaced
4726:9076cdb027af 4727:8087bb208acf
     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