本篇主要介紹在Android Studio中經過JNI完成NDK開發,後一篇文章會介紹經過CMake方式在Android Studio 中進行NDK開發,敬請期待。java
源碼地址:android
https://github.com/xiaoliang0227/NDKDemo001git
Step1:新建項目,命名爲NDKDemo001github
Step2:一路點擊「Next」,最終點擊「Finish」完成新項目的建立app
Step3:建立類包「cpp」,並在該包中建立文件」HelloNDK」,內容與結構以下:測試
Step4:build項目gradle
Step5:build完成後app/build/intermediates/classes/debug中結構以下:ui
Step6:經過Android Studio 自帶的Terminal定位到文件夾app/build/intermediates/classes/debug,以下:this
Step7:使用指令,生成c語言頭文件。指令:javah -jni com.zyl.ndkdemo001.cpp.HelloNDK,目標頭文件在app/build/intermediates/classes/debug下,文件名爲「com_zyl_ndkdemo001_cpp_HelloNDK.h」,若是看不到請刷新下項目。示例以下:debug
」com_zyl_ndkdemo001_cpp_HelloNDK.h「內容以下:
Step8:在src/main目錄下新建文件夾「jni」並把「com_zyl_ndkdemo001_cpp_HelloNDK.h」剪切到該處,結構以下:
Step9:在「jni」目錄中新建c source文件「com_zyl_ndkdemo001_cpp_HelloNDK.c」,內容以下:
Step10:配置app目錄下的build.gradle文件,在defaultConfig標籤中加入如下內容:
ndk {
moduleName "hellondk"
abiFilters "armeabi", "armeabi-v7a", "arm64-v8a", "x86", "x86_64", "mips", "mips64"
}
Step11:「make project」
Step12:若遇到如下問題,請在項目的gradle.properties中添加:android.useDeprecatedNdk=true,而後clean project 從新make project
生成的動態連接庫文件在項目中的結構以下:
Step13:把該lib下的全部爲文件拷貝到,app下的libs中
Step14:激動人心的時刻到了,測試,若是可以彈出「this is a android ndk hello.」,恭喜你,你成功了。代碼以下: