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包交互的方法。这个需要你要调用的地方的包名对应,要不然找不到方法。新建了一个方法:(使用的时候包名: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调用一下:


image.png

运行结果如下:
image.png

这样生成和在另外一个项目中调用就完全调试通了。

你可能感兴趣的:(Android Studio 4.0 生成so包,并使用)