Android環境下NDK編譯SDL

編寫說明:SDL的官方提供了一個Anroid的demo模板SDLActivity,沒法直接運行,按照官方的文檔操做過程當中也會遇到不少問題,這裏把我成功編譯並運行的過程記錄下來,但願對你們有所幫助!android

SDL簡介:SDL是Simple DirectMedia Layer的縮寫,它是一套開源的C語言跨平臺多媒體開發庫,提供了多種控制圖像,聲音等接口,普遍用於遊戲,媒體播放器,模擬器開發等。git


操做步驟:github

第一步:準備SDL源代碼包;windows

1. 去http://www.libsdl.org/官網下載最新版SDL2-2.0.3.tar.gz;eclipse

2. 解壓後,能夠在根目錄下找到android-project目錄和README-android.txt,前者是一個一個Android工程模板,後者是關於如何使用該工程的文檔說明。函數

3. 調整目錄,使其成爲一個可編譯的工程:ui

    (1) 將android-project目錄剪切到與SDL2-2.0.3同級的目錄;spa

    (2) 而後將SDL2-2.0.3目錄拷貝到android-project\jni目錄下,並重命名爲SDL;接口

第二步:爲SDL增長main函數遊戲

(1) mainhttp://wiki.libsdl.org/Tutorials#Android.c文件能夠從http://www.dinomage.com/wp-content/uploads/2013/01/main.c下載;

(2) 下載以後將其放入android-project\jni\src目錄;

(3) 將main.c加入android-project\jni\src\Android.mk: 在Android.mk中默認有個YourSourceHere.c,將其替換爲main.c便可;

第三步:編譯libSDL2.so和libmain.so

注:請確認NDK的bin目錄已經配置到環境變量PATH中去;

打開cmd命令窗口,進入到android-project目錄,而後執行"ndk-build"命令進行編譯。編譯成功後會在android-project根目錄下生成libs目錄,下面有各個平臺的須要的這兩個so文件。

第四步:修改build target配置文件

默認的工程是使用的=android-12,必須使這個target與你係統配置的一致,不然編譯會失敗. 具體的配置位於android-project/project.properties和android-project/default.properties中。因爲adt-bundle-windows-x86_64-20130729.zip包對應的是android-18,所以須要將這兩個文件中的配置所有改成android-18.

第五步:導入Eclipse運行

依次選擇File->New->Android->Android Project from Existing Code,而後選擇android-project目錄將工程文件導入到Eclipse中。

而後選擇按照正常的Android工程運行便可。這個時候程序閃一下什麼都沒有,由於沒有添加資源。可下載一個bmp圖片放到android-project/assets中,這個目錄是由eclipse自動生成的。而後運行就能夠看到經過SDL渲染出來的圖片了。這 裏提供一個官方文檔中提到的bmp地址:http://www.dinomage.com/wp-content/uploads/2013/01/image.bmp 。整個工程的源代碼能夠到個人github上去下載,地址:https://github.com/dennishucd/SDLActivity


參考資料:

1. http://wiki.libsdl.org/Tutorials#Android 

2. http://www.dinomage.com/2013/01/howto-sdl-on-android/

相關文章
相關標籤/搜索