詳細配置使用請移步:https://www.jianshu.com/p/4c7d9a10933b
android studio NDK 編譯
第一步:
app/build.gradle下面
添加代碼:
ndk {
moduleName "app" // <-- This is the name of my C++ module!
cFlags "-DANDROID_NDK " // Define some macros
ldLibs "EGL", "GLESv3", "dl", "log" // Link with these libraries!
stl "stlport_shared"
}
具體如下:
第二步:
在local.properties文件中 配置好本地NDK的路徑,比如我的:
ndk.dir=/Users/cinba/Library/android-ndk-r10e
sdk.dir=/Users/cinba/Library/android-sdk
第三步:
在main下面建立jni文件夾:吧相關的文件放進來
第四步:
然后 build-> make project,so文件就生成好了;
位置在 目錄 app/build/intermediates/ndk/下面;
第五步:
將生成好的so文件copy到我們的jniLibs文件夾中即可;
補充:
這樣配置每次都會自動編輯c文件,如果不要每次都ndk編譯話,把gradle中的ndk配置注釋掉,然后so文件copy到我們的jniLibs中即可!
解決辦法:
在gradle.properties 文件里面添加
android.useDeprecatedNdk=true 后重新編譯即可
遇到的問題:
make.exe: *** No rule to make target `D:\AndroidStudioProjects\project\app\build\intermediates\ndk\umeng\debug\obj/local/arm64-v8a/objs/app/D_\AndroidStudioProjects\project\app\src\main\jni', needed by `D:\AndroidStudioProjects\project\app\build\intermediates\ndk\umeng\debug\obj/local/arm64-v8a/objs/app/D_\AndroidStudioProjects\project\app\src\main\jni\tag.o'. Stop.
在Windows下NDK一個bug,當僅僅編譯一個文件時出現會出現此問題,解決方法就是
再往jni文件夾加入一個空util.c文件即可
問題參考資料:http://blog.csdn.net/sodino/article/details/41946607
