日期:2024年7月3日
使用Android Studio进行JNI开发.so库,在build.gradle中设置了产生架构:
//增加cmake控制属性
externalNativeBuild{
cmake{
// 指定编译架构
abiFilters 'arm64-v8a','armeabi-v7a','x86','x86_64'
}
}
编译通过,运行时发生报错:
No toolchains found in the NDK toolchains folder for ABI with prefix: arm-linux-androideabi
在网上了解了一下后,发现时ndk下的toolchain目录中,缺少对应架构的工具链。但当前官网中,NDK最新的稳定版本【android-ndk-r26d-windows】只有llvm的,没有什么arm-linux-androideabi
解决方法:下载旧版本的NDK
r16b版本的下载链接:https://dl.google.com/android/repository/android-ndk-r16b-windows-x86_64.zip
下载后安装目录结构,将所需架构的工具链目录进行复制粘贴即可。