日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android调用so封装jni,GitHub - Michelle0716/AndroidJniDemo1: 安卓对c进行so文件打包,并以jni的形式进行调用...

發布時間:2023/12/1 Android 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android调用so封装jni,GitHub - Michelle0716/AndroidJniDemo1: 安卓对c进行so文件打包,并以jni的形式进行调用... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

AndroidJniDemo1

安卓對c進行so文件打包,并以jni的形式進行調用

項目中的部分

app : 編譯so文件

jniDemo: 添加運行so文件

開發環境:

android studio 3.0.1

(As3.0以上創建項目,選擇支持c/c++,項目會自動生成需要的配置,不需要在編寫cMakeList文件,創建后,直接運行,即可調用cpp里面c文件的內容)

配置ndk

谷歌官方下載 https://developer.android.google.cn/ndk/downloads/

android studio的sdk manager里下載

(直接在file——project structure——sdk——ndk 點擊download,有可能存在文件缺失,建議官方下載,在ndk里面配置)

打包so

把Native方法提取出來,在一個類里面專門處理,如jniUtil.java

運行app,點擊工具欄 build-make"app",在app/build/intermediates/cmake/debug下可以看到生成的so文件,把他們拷貝出來,給JniDemo使用。

注意:

jniUtil里面的包名要和cpp里面c文件的方法名的包名一致,一般我們現在jniUtil里面寫好方法后,點擊alt+enter生成c方法,這樣不易出錯

調用jni

在jniDemo里面新建文件夾jnilibs,把so文件的幾個文件放在里面,在gradle配置

配置gradle

sourceSets.main{

jni.srcDirs = []

jniLibs.srcDir "src/main/jniLibs"

}

創建方法類(包名類名要和so里面的一致)

在java中創建與上面jniUtil.java相同的包,并把jniUtil.java拷到次目錄。

##備注

3.配置動態連接庫的名稱,在mode的gradle->defaultConfig下增加以下代碼

ndk {

moduleName "JNITest" //輸出的SO文件名稱

abiFilters "armeabi", "armeabi-v7a", "x86"//指定cpu的類型

}

4.加載動態連接庫,在編寫native方法類中新增:

static

{

System.loadLibrary("native-lib");//名字注意,需要跟你的build.gradle ndk節點下面的名字一樣

}

gradle設置so庫名

defaultConfig {

applicationId "com.ndk.****"

minSdkVersion 19

targetSdkVersion 26

versionCode 1

versionName "1.0"

ndk {

moduleName "LJPriject" //輸出的SO文件名稱

abiFilters "armeabi-v7a","x86"//指定cpu的類型

}

}

so庫名Library

System.loadLibrary導入,如果build.gradle ndk沒有配置,那么要和CMakeLists里面一樣,Sets the name of the library后面的名字,否則出現導入庫失敗,查找不到該庫

總結

以上是生活随笔為你收集整理的android调用so封装jni,GitHub - Michelle0716/AndroidJniDemo1: 安卓对c进行so文件打包,并以jni的形式进行调用...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。