cc_library_headers 用于导出头文件到系统中。
下面是一个动态库的bp文件.
Android.bp
cc_library_headers {
name: "libmymath_headers",
export_include_dirs: [
"include",
],
}
cc_library_shared {
name: "libmymath",
srcs: [
"my_math.c",
],
header_libs: [
"libmymath_headers",
],
export_header_lib_headers: [
"libmymath_headers",
],
}
my_math.c
#include "my_math.h"
int my_add(int a, int b)
{
return a+b;
}
int my_sub(int a, int b)
{
return a-b;
}
include/my_math.h
#ifndef __MY_MATH_H__
#define __MY_MATH_H__
int my_add(int a, int b);
int my_sub(int a, int b);
#endif
下面就是如何使用这个动态库。
cc_binary {
name: "a01",
srcs: ["a.cpp"],
cflags: [
"-Wall",
"-Werror",
"-Wno-unused-parameter",
],
shared_libs: [
"libmymath",
],
header_libs: [
"libmymath_headers",
],
}
a.cpp
#include <iostream>
using namespace std;
extern "C"{
#include <my_math.h>
}
int main() {
cout << "123456789" << endl;
cout << my_add(1,78)<< endl;
return 0;
}
完美;
这里是全部代码。