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)試通了。