本文主要是基于Android P的ASOP 例子进行参考和构建的,关于Android P源代码的下载和编译环境的构建这里就不再补充,如果有疑问的话请直接留言交流.
Android.bp 文件的编写
这里是参考Android P ASOP 源码目录 external/tinyalsa/Android.bp 进行编写的.
首先是在external下创建message_loop_example目录,并在message_loop_example目录下创建Android.bp 和 message_loop_example.cc
目录结构如下:
➜ message_loop_example tree
.
├── Android.bp
└── message_loop_example.cc
0 directories, 2 files
Android.bp 的实现:
cc_binary {
name: "message_loop_example",
srcs: ["message_loop_example.cc"],
}
message_loop_example.cc(实例代码非常简单)的实现:
#include <stdio.h>
int main(int argc, char **argv)
{
argc = 0;
printf("test %s\n", argv[0]);
return 0;
}
可执行程序构建
首先进到Android P ASOP源代码的顶层目录,然后执行如下命令
source build/envsetup.sh
lunch aosp_arm64-eng //基于你的平台选择对应lunch的target
make message_loop_example //Android.bp中name字段的定义
编译成功后,会在 out/target/product/xxxxxx/system/bin/ 下生成可执行程序: message_loop_example