如何为Android构建SDL库

时间:2012-05-27 09:15:16

标签: android build android-ndk ffmpeg sdl

我打算使用SDL(Simple DirectMedia Layer)在我的Android应用程序中显示使用ffmpeg库的视频输出。我已经从http://www.libsdl.org/download-1.2.php下载了源代码并在我的Ubuntu上构建了(./configure,make& make install)。但是当我使用这些.so文件时,Android ndk-build会抱怨“无法读取符号。文件格式错误”。

我可以在Android上使用在Ubuntu上构建的.so文件,还是需要以不同的方式构建Android的SDL?

1 个答案:

答案 0 :(得分:2)

正如README.android

所述

您需要在jni文件夹中添加指向SDL文件夹的符号链接,在jni/src/Android.mk之后确保您拥有这些行

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 \
    main.c

LOCAL_SHARED_LIBRARIES := SDL

LOCAL_LDLIBS := -lGLESv1_CM -llog

include $(BUILD_SHARED_LIBRARY)

这样,SDL的.so将与您的项目一起为您的目标(当然是ARM cpu)编译,并自动包含在最终的.apk中

当你这样做时./configure&&制造&& make install,你实际上正在为计算机的CPU构建.so(当然是x86 / x86_64)