1、将.so文件放在使用moudle下的对应CPU架构内
2、确定代码中有调用函数
static {
System.loadLibrary("serial_port");
}
3、在使用moudle的build申明.so文件的路径
sourceSets {
main {
// jniLibs的目录使用jniLibs
jniLibs.srcDirs = ['src/main/jniLibs']
}
}
4、打包后,查看.apk内的libs包含哪些CPU架构的文件;
在app的build内添加一下红色的代码;对应的CPU架构,有的填上即可
android {
compileSdk rootProject.compileSdk
defaultConfig {
applicationId "包名"
minSdk rootProject.minSdk
targetSdk rootProject.targetSdk
versionCode rootProject.versionCode
versionName rootProject.versionName
buildFeatures {
dataBinding true
}
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
ndk {
// abiFilters "arm64-v8a"
abiFilters "armeabi-v7a", "x86"
}
扩展
Android Studio项目中jniLibs和libs的区别
libs是存放jar文件的在Project目录下与src同级(添加完jar文件需要右键点击Add As Library来会自动生成相关的一些文件),
jniLibs是存放SO文件的在Project目录下的src下的main文件夹下的