android studio 編譯NDK android studio 生成.so文件

 

詳細配置使用請移步:https://www.jianshu.com/p/4c7d9a10933bandroid

 

 

android studio NDK 編譯app

 

第一步:gradle

app/build.gradle下面ui

添加代碼:spa

        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"
        }
.net

具體以下:debug

 

 

第二步:blog

local.properties文件中 配置好本地NDK的路徑,好比個人:ci

ndk.dir=/Users/cinba/Library/android-ndk-r10e
sdk.dir=/Users/cinba/Library/android-sdk
v8

 

第三步:

在main下面創建jni文件夾:吧相關的文件放進來

 

第四步:

而後 build-> make projectso文件就生成好了;

位置在 目錄 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
 
 
相關文章
相關標籤/搜索