標籤:app 源檔案 stl sdl 解決方案 等等 image 分享 架構
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動態庫。到此所有編譯工作完成。
Android Studio下編譯SDL庫的步驟