NDK打包armeabi
1.降低NDK版本和Cmake版本
sdk.dir=E\:\\Android\\sdk
//指定ndk版本,不指定默认使用最新的NDK
ndk.dir=E\:\\Android\\sdk\\ndk\\16.1.4479499
- 1
- 2
- 3
修改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'
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
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'
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
3.修改CMakeLists文件
//设置CMake的版本
cmake_minimum_required(VERSION 3.6.0)
- 1
- 2
经过以上修改可以打包出armeabi架构的so
评论记录:
回复评论: