Android blueprint 1.1 : hello world - cc_binary

  1. 这是一个最简的aosp源码工程,主要是演示Android.bp的使用。
  2. 使用cc_binary命令可以把cpp代码编译为可执行文件。
  3. 最少需要指定可执行文件的名称和源码文件即可。
  4. 标准c和c++的库和头文件会自动链接和引用。
  5. 这相对于一个empty native project模板,可以增加代码做一些简单的aosp源码或者Android相关的测试、验证。

main.cpp文件

#include <iostream>

using namespace std;

int main() {
    
    
    cout << "Hello Marvin!" << endl;

    return 0;
}

Android.bp文件

cc_binary {
    
    
    name: "marvin_hello",
    srcs: [
        "main.cpp",
    ],
}

创建目录、编写代码

在aosp源码目录下,创建项目的目录,例如:

$ cd aosp/external
$ mkdir -p marvin/hello
# 在hello目录下创建上述2个文件
$ tree .
.
├── Android.bp
└── main.cpp

0 directories, 2 files

编译生成可执行文件

注意:当前shell已经设置过aosp编译环境: source aosp/build/envsetup.sh

$ cd aosp/external/marvin/hellow
$ mm -j16
...
[100% 358/358] Install: out/target/product/prod_name/system/bin/marvin_hello

运行程序

$ adb push aosp/out/target/product/prod_name/system/bin/marvin_hello /system/bin
$ adb shell marvin_hello
Hello Marvin!

猜你喜欢

转载自blog.csdn.net/yinminsumeng/article/details/130222436