SDL 1.3 已经官方正式支持Android了,而且也支持OpenGL ES 1.1/2.0!前几天刚好有点空闲就折腾了一下,现将编译过程小记一下,虽然大部分的过程官方已经说得很清楚了,但还是有一些小的细节要注意。
- 首先,是从SDL的网站下载1.3非正式版的源码,SDL用的是HG管理源码的,网址:http://www.libsdl.org/hg.php,可以下载windows适用的zip包(SDL-1.3.zip)或linux适用的tar gz包(SDL-1.3.tar.gz),解压到任意目录;
- 在$SDL\android-project\jni目录建一个叫SDL的目录,并将$SDL目录的两个目录src、include及文件Android.mk复制到刚才建立的目录,目录结构应该如下图:
- 复制SDL测试文件至$SDL\android-project\jni\src目录,并更改此目录的Android.mk,如我想测试OpenGL ES,就将testgles.c及所依赖的common.c & common.h 三个文件复制到jni\src目录,并将Android.mk文件改动如下:
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := main SDL_PATH := ../SDL LOCAL_C_INCLUDES := $(LOCAL_PATH)/$(SDL_PATH)/include # Add your application source files here... LOCAL_SRC_FILES := $(SDL_PATH)/src/main/android/SDL_android_main.cpp \ testgles.c common.c LOCAL_SHARED_LIBRARIES := SDL LOCAL_LDLIBS := -lGLESv1_CM -llog include $(BUILD_SHARED_LIBRARY) |
- 因为这次测试的是OpenGL ES,所以Android 2.0以上,所以将$SDL\android-project目录的default.properties中的target从“android-4”改成“android-8”;
- 在Cygwin中进入$SDL\andorid-project目录,用“ndk-build V=1”命令编译;
- 编辑$SDL\android-project\local.properties,将SDK目录指向你的安装目录;
- 在ant安装好的情况下,进入$SDL\android-project,输入 “ant debug”,成功后输入“ant install”,将编译并安装SDL App到你的手机或模拟器,运行!