Android Studio中so庫的建立與使用、jar庫(jar呼叫so庫)的建立與使用(一)
工程下載https://download.csdn.net/download/cnicfhnui/10422621
一、Android Studio 建立so庫,呼叫so庫
第一步
先下載NDK開發包,下載地址:https://developer.android.google.cn/ndk/downloads/
上面網址如果失效,直接百度“NDK下載”,找到谷歌開發者官網,NDK下載,選擇“NDK Revision History.”可以下載歷史版本,然後根據自己的系統選擇下載,我下載的是android-ndk-r14b版本。下載後解壓到英文目錄。開啟android studio->file->project structure,選擇SDK Location->Android NDK location:選擇剛才解壓到的目錄
在工程local.properties檔案中新增
android.useDeprecatedNdk=true
建立一個新java類,JniTest
其中的方法與庫的名字後面都可以改的,先寫出你要的方法名就行了,我寫了兩個,一個加法返回,一個返回固定字串。
然後根據這個類來生成JniTest.h
選單->Build->Make Project,編譯完成後會生成JniTest.class
開啟Android Studio中的Terminal終端,裡面cd 到你工程的java目錄,執行javah com.jnijartest.myapplication.JniTest
D:\WebServer\MyApplication>cd app/src/main/java
D:\WebServer\MyApplication\app\src\main\java>javah com.jnijartest.myapplication.JniTest
如果提示:錯誤: 編碼GBK的不可對映字元,把JniTest類中的註釋刪除掉
執行成功會生成com_jnijartest_myapplication_JniTest.h檔案
在MyApplication\app\src\main目錄中新建資料夾jni,把com_jnijartest_myapplication_JniTest.h放進去,並且手動建立一個com_jnijartest_myapplication_JniTest.c
開啟com_jnijartest_myapplication_JniTest.c,實現.h中的方法
在jni資料夾下新建Android.mk和Application.mk檔案
Android.mk
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) TARGET_PLATFORM := android-3 LOCAL_MODULE := JniTest LOCAL_SRC_FILES := com_jnijartest_myapplication_JniTest.c LOCAL_LDLIBS := -llog include $(BUILD_SHARED_LIBRARY)
- 1
- 2
- 3
- 4
- 5
- 6
Application.mk
APP_ABI := arm64-v8a armeabi armeabi-v7a mips mips64 x86 x86_64 APP_PLATFORM := android-14開啟build.gradle,在android中新增
sourceSets{ main{ jniLibs.srcDirs = ['libs'] } } externalNativeBuild { ndkBuild { path 'src/main/jni/Android.mk' } }
在終端中執行ndk-build會生成各個平臺的SO庫
最後就是呼叫啦
在MainActivity.java中實現+執行結果