1. 下載並解壓SDL源代碼
下載鏈接:https://libsdl.org/download-2.0.php
2. 導入項目
2-1.導入項目, 如圖:
2-2. 找到下載好的SDL源代碼,選擇android-project,點擊OK,如圖
2-3. 選擇一個空目錄,作為導入的Android工程目錄,然后點擊Next,如圖
2-4. 如果目錄不存在,則彈出下面的提示框,點擊OK,創建新目錄
2-5. 點擊Finish開始構建項目,等它構建完成
3. 修改配置信息和修復各種錯誤
3-1. 因為我使用的是Android Studio 3.0,它提示我最小的Gradle必須是4.1以上
解決方法:已經提示很明顯了,修改項目下的wrapper目錄下的gradle-wrapper.properties文件。我直接改為4.2因為我已經下載好4.2的Gradle,如下圖:
3-2. 修改app下的build.gralde文件,修改compileSdkVersion,添加abiFilters只需要arm架構的,添加ndkBuild表示使用ndk編譯,如下所示:
3-3. 在jni目錄下創建一個名稱為SDL的文件夾,將將sdl源代碼里的include、src和Android.mk文件拷貝進來,如下圖所示:
3-4. 在jni目錄下的src目錄下創建一個名稱為YourSourceHere.c的源代碼,里面的內容就是main函數的入口,什么都不用干,只是為了不讓報錯,如下所示:
YourSourceHere.c源文件的位置如下圖所示,從圖里面也可以看出為什么創建的文件夾名稱是SDL了,為什么創建的.c源文件是名稱是YourSourceHere.c了,如果想創建其他名稱的也可以,只需要相應修改右邊的名稱即可。
3-5. 修改Application.mk文件,打開APP_STL注釋表示使用標准庫,修改APP_PLATFORM 等等,如下圖所示:
4. 構建項目,生成so動態庫
4-1. 構建步驟,先點擊圖1的按鈕構建項目,構建成功之后,再點擊圖2的按鈕編譯生成so動態庫,如下圖所示:
4-2. 最終的生成結果,如下圖:
libSDL2.so就是我們所期待的動態庫,是jni/SDL目錄下的源文件所生成的動態庫,而libmain.so庫是jni/src下的YourSourceHere.c源文件生成的so動態庫。到此所有編譯工作完成。