1.降低NDK版本和Cmake版本
sdk.dir=E\:\\Android\\sdk
//指定ndk版本,不指定默认使用最新的NDK
ndk.dir=E\:\\Android\\sdk\\ndk\\16.1.4479499
修改builde.gradle(app)
android{
defaultConfig{
...
//配置 AS 工程的 C/C++ 源文件编译参数
externalNativeBuild {
cmake {
cppFlags ''
}
}
ndk {
//打包生成的so平台
abiFilters 'armeabi'
}
}
...
externalNativeBuild {
cmake {
path file('src/main/cpp/CMakeLists.txt')
//指定cmake版本,因为NDK16不支持3.10版本的cmake
version '3.6.0'
}
}
...
//指定NDK版本,armeabi只有ndk17一下的版本可以构建
ndkVersion '16.1.4479499'
}
2.降低gradle插件版本
build.gradle(project)
buildscript{
...
dependencies{
// classpath "com.android.tools.build:gradle:7.0.2"
//降低gradle插件的版本,只有4.1.3一下的gradle才能生成armeabi平台的so
classpath'com.android.tools.build:gradle:4.1.3'
}
}
3.修改CMakeLists文件
//设置CMake的版本
cmake_minimum_required(VERSION 3.6.0)
经过以上修改可以打包出armeabi架构的so