如何把 c/c++ 头文件打到 *.aar 里面?
2022-02-08 本文已影响0人
MemetGhini
最近在写一个库的时候遇到一个需要把native层的头文件打到*.aar里面的需求。稍作调研发现已经有了名叫 AndroidNativeBundle的gradle插件,用起来还非常方便所以决定写一篇文章分享一下。
- 首先编辑你的根
build.gradle
文件添加classpath 'io.github.howardpang:androidNativeBundle:1.1.1'
。
buildscript {
repositories {
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0'
classpath 'io.github.howardpang:androidNativeBundle:1.1.1'
}
}
- 把这个插件应用到自己的模块中。在所需模块的
build.gradle
中添加如下:
plugins {
id 'com.android.library'
id 'com.ydq.android.gradle.native-aar.export'
}
- 在模的
build.gradle
中添加如下代码来制定头文件所在目录。
nativeBundleExport {
headerDir = "${project.projectDir}/native/export/header/path"
}
就这样在构建aar时会在*.aar
根目录下的jni/include
中带上nativeBundleExport制定的文件。