Android NDK打包armeabi平台架包

NDK打包armeabi

1.降低NDK版本和Cmake版本

groovy 复制代码
sdk.dir=E\:\\Android\\sdk
//指定ndk版本,不指定默认使用最新的NDK
ndk.dir=E\:\\Android\\sdk\\ndk\\16.1.4479499

修改builde.gradle(app)

groovy 复制代码
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)

groovy 复制代码
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文件

clike 复制代码
//设置CMake的版本
cmake_minimum_required(VERSION 3.6.0)

经过以上修改可以打包出armeabi架构的so