1:从http://www.libsdl.org/tmp/下载SDL for android 版本(我下载的是 SDL-1.3.tar.gz );
2:从https://github.com/havlenapetr/FFMpeg下载 havlenapetr 的ffmpeg for android版本;
3:把你下载的SDL for android版本解压到本地目录,解压到本地;
4:解压后的根目录下面有一个android-project工程,在jni目录下面新建一个SDL目录,把根目录下面的src目录,include目录和Android.mk拷贝到新建里的SDL目录下面;
5:把ffmpeg for android 工程下jni目录的libffmpeg拷贝到android-project的jni目录下 ;
6:http://dranger.com/ffmpeg/下载tutorial08代码并把文件放在jni的src目录下 ;
(turorial是一个使用ffmpeg和sdl的示例代码,非常不错,学习地址:http://dranger.com/ffmpeg/tutorial01.html)
7:编写tutorial08的mk文件 。
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := main
SDL_PATH := ../SDL
LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(SDL_PATH)/include \
$(LOCAL_PATH)/../libffmpeg \
# Add your application source files here...
LOCAL_SRC_FILES := $(SDL_PATH)/src/main/android/SDL_android_main.cpp \
tutorial08.c
LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES
LOCAL_SHARED_LIBRARIES := SDL
LOCAL_STATIC_LIBRARIES := libavformat libavcodec libavutil libpostproc libswscale
LOCAL_LDLIBS := -ldl -lGLESv2 -llog
include $(BUILD_SHARED_LIBRARY)
9:SDLActivity中load so
// Load the .so
static {
System.loadLibrary("SDL");
//System.loadLibrary("SDL_image");
//System.loadLibrary("SDL_mixer");
//System.loadLibrary("SDL_ttf");
System.loadLibrary("main");
}
10:改写nativeInit方法