在做App開發(fā)的相信都知道Android Studio這個(gè)開發(fā)工具了,使用該工具很快就能構(gòu)建出一個(gè)app的項(xiàng)目來;但是說到要用Android Studio構(gòu)建一個(gè)帶JNI的App項(xiàng)目很多人就不知道要怎么創(chuàng)建了;其實(shí)創(chuàng)建一個(gè)帶JNI的App項(xiàng)目和創(chuàng)建一個(gè)普通的App項(xiàng)目都差不多的就是一些選項(xiàng)不一樣。
我們?cè)趧?chuàng)建項(xiàng)目的時(shí)候選擇Native C++項(xiàng)目食棕,這樣創(chuàng)建出來的時(shí)候就是帶有JNI的App項(xiàng)目望门。
后面的就和創(chuàng)建普通App項(xiàng)目一樣的了
這里直接點(diǎn)完成就可以了宪肖,這樣帶有JNI的項(xiàng)目就創(chuàng)建出來了抠忘。
有可能創(chuàng)建出來的項(xiàng)目會(huì)報(bào)錯(cuò)杜秸,這樣就要配置一下NDK的路徑解幼,如下圖
如果是SDK里面沒有ndk-bundle的路徑就會(huì)報(bào)錯(cuò)的此時(shí)就需要手動(dòng)的去配置一下ndk-bundle的路徑抑党。
接下來看一下構(gòu)建出來的項(xiàng)目文件夾
可以看到帶有JNI的項(xiàng)目比沒有JNI的項(xiàng)目多了一個(gè)文件夾“cpp”里面有兩個(gè)文件一個(gè)是構(gòu)建so動(dòng)態(tài)庫所要用到的CMakeList,txt這個(gè)就像eclipse里面的Android.mk文件的功能一樣,如果不知道CMakeList.txt怎么去配置請(qǐng)看 http://www.reibang.com/p/39ca6c51bc20該鏈接里面有詳細(xì)講解這個(gè)配置文件怎么寫;另外一個(gè)".cpp或.c"的文件就是要編寫c/c++的文件撵摆,該文件就是后面要編譯成動(dòng)態(tài)庫的文件底靠。
接下面就要到App的build.gradle里面配置要編譯哪一個(gè)平臺(tái)的so動(dòng)態(tài)庫
如果要編譯多個(gè)平臺(tái)的so動(dòng)態(tài)庫則要在abiFilters后添加,即可
cmake {
cppFlags "-frtti -fexceptions"
abiFilters "armeabi-v7a","x86"
}
到這里Android Studio構(gòu)建JNI項(xiàng)目就完成了特铝,上面的步驟缺一不可暑中,如果有哪一補(bǔ)沒有配置項(xiàng)目都會(huì)編譯不過的。
總結(jié):Android Studio創(chuàng)建JNI項(xiàng)目無非就是配置的問題鲫剿,如果都把這些配置都搞懂了那應(yīng)該就沒有什么問題了鳄逾,和以前的eclipse相比Android Studio的配置確實(shí)繁瑣一點(diǎn)。