隨著Android Studio的推出,越來越多的開發(fā)者都把項目從Eclipse遷移到了Android Studio上怎虫,說明Android Studio相對Eclipse來說弹灭,具有很明顯的優(yōu)勢。同樣對于JNI開發(fā)來說揪垄,Android Studio的配置比Eclipse要簡單了許多。本篇主要介紹下Android Studio的下JNI開發(fā)配置逻翁。
一饥努、直接使用.so庫
和eclipse不同,.so庫是放到j(luò)niLibs目錄下面八回,如圖:
使用方式和Eclipse中一樣酷愧,直接使用System.loadLibrary("libName")加載庫。
二缠诅、使用C/C++源碼
1.下載安裝配置NDK
首先是下載NDK溶浴,可以自己下載NDK,然后解壓出來管引,然后指定NDK目錄士败,在local.properties文件中配置NDK的路徑,如圖:
你也可以在Android Studio中設(shè)置一下褥伴,讓Android Studio自己下載對應(yīng)版本的NDK谅将。步驟如下:
● 在菜單欄找到"File"-"Settings",打開設(shè)置界面重慢;
● 找到"Appearance & Behavior"-"System Settings"-"Android SDK"選項饥臂,然后切換到"SDK Tool"選項卡;
● 然后找到NDK打鉤似踱;
● 點擊"Apply"按鈕隅熙,然后在彈出窗口中點擊"OK",即可自動下載核芽;
● 等待自動下載安裝完成囚戚,點擊"Finish"按鈕完成安裝。
如下圖所示:
Android Studio默認(rèn)安裝NDK目錄是在SDK目錄下狞洋,安裝完成后弯淘,local.properties文件中NDK路徑設(shè)置也將自動更新。
2.Gradle添加NDK模塊
打開app模組下的build.gradle文件吉懊,在defaultConfig模塊下添加ndk模塊庐橙,如圖:
其中moduleName是編譯的.so的模組名稱假勿,就是原先Eclipse開發(fā)里Android.mk文件中LOCAL_MODULE變量,和System.loadLibrary()加載.so時的名稱對應(yīng)态鳖。例如moduleName配置為"JniTest"转培,則.so文件名稱為"libJniTest.so",加載時浆竭,名稱為System.loadLibrary("JniTest")浸须;
abiFilters指定要分配的平臺,如果未指定邦泄,則將編譯所有支持的平臺删窒。目前支持的平臺有"armeabi"、"armeabi-v7a"顺囊、"arm64-v8a"肌索、"mips"、"mips64"特碳、"x86"诚亚、"x86_64"這七個;
ldLibs是要鏈接的庫午乓,就是原先Android.mk里L(fēng)OCAL_LDLIBS變量指定的庫站宗。
3.添加C/C++文件
默認(rèn)情況下,C/C++文件一般放在[module]/src/main/jni/目錄下益愈,如圖:
當(dāng)然梢灭,你也可以修改build.gradle配置,指定其他路徑蒸其。在"android.sourceSets.main"模塊里或辖,使用"jni.srcDirs"指定jni的路徑,如下圖:
至此枣接,Android Studio下開發(fā)JNI的基本配置就結(jié)束了颂暇,下一篇將介紹一下Android Studio下C/C++代碼編寫與編譯。有興趣的童鞋可以關(guān)注一下但惶,后期將持續(xù)更新耳鸯。