Android Studio 4.0 生成so包,并使用

Android Studio 4.0+版本 生成so包,并使用

1.新建個Native C++項目

image.png

一直next等編譯完成

2.打開main-cpp-native-lib.cpp 文件

image.png

Java_com_example_myapplication_MainActivity_stringFromJNI ()這個方法就是我們和so包交互的方法。這個需要你要調(diào)用的地方的包名對應,要不然找不到方法。新建了一個方法:(使用的時候包名:com.example.test ; 類名:JNIUtils;方法名:getDefalutkey )


image.png

然后重新Rebuild project。


image.png

我們需要的so包就在這里面。

使用我們生成的so包。新建一個android項目:引入so包

兩種引用方式,如果so包放在lib文件下,在app的build.gradle文件下在android目錄下:
//放在libs目錄中
sourceSets {
main {
//使用自己編寫的兩個mk文件,避免android studio想自動生成而導致錯誤。
jniLibs.srcDirs = ['libs'] //libs表示libs文件夾的地址,一定要保證正確
}
}
如果放在main目錄下jniLibs則不需要過多配置


image.png

引入so包,新建JNIUtils,注意包名和C語言中的對應。在MainActivity調(diào)用一下:


image.png

運行結(jié)果如下:
image.png

這樣生成和在另外一個項目中調(diào)用就完全調(diào)試通了。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容