You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求用于AOSP编译的Android Studio Native C++项目Android.bp示例及生成工具

AOSP环境下编译Native C++应用的Android.bp示例及工具说明

一、基于Hello World项目的Android.bp示例

假设你的Native C++项目结构如下(对应Android Studio自动生成的模板):

my-native-app/
├── app/
│   ├── AndroidManifest.xml
│   ├── src/
│   │   ├── main/
│   │   │   ├── java/com/example/mynativeapp/MainActivity.java
│   │   │   ├── res/
│   │   │   └── jni/
│   │   │       └── native-lib.cpp
└── Android.bp  # 我们要编写的文件

以下是完整的Android.bp内容,包含Native库和APK两个编译模块:

1. Native共享库模块

cc_library_shared {
    name: "libnative-lib",
    srcs: ["app/src/main/jni/native-lib.cpp"],
    # 依赖的系统共享库,对应NDK中的log和android库
    shared_libs: [
        "liblog",
        "libandroid",
    ],
    # 编译警告和错误控制
    cflags: [
        "-Wall",
        "-Werror",
    ],
}

2. Android应用模块

android_app {
    name: "MyNativeApp",
    # 匹配所有Java源码文件
    srcs: ["app/src/main/java/**/*.java"],
    manifest: "app/AndroidManifest.xml",
    # 资源文件目录
    resource_dirs: ["app/src/main/res"],
    # 依赖的AndroidX静态库(需确保AOSP中已包含这些库)
    static_libs: [
        "androidx.appcompat_appcompat",
        "androidx.constraintlayout_constraintlayout",
    ],
    # 依赖我们编译的Native共享库
    shared_libs: [
        "libnative-lib",
    ],
    # 使用平台API编译
    platform_apis: true,
    # 签名证书,根据需求选择:platform为系统签名,testkey为默认测试签名
    certificate: "platform",
}

注意事项

  • 若你的项目使用了其他第三方库,需要在static_libs或shared_libs中添加对应依赖,并确保这些库已在AOSP源码树中存在。
  • 若项目无资源文件,可移除resource_dirs字段。
  • 编译时在AOSP根目录执行make MyNativeApp即可生成APK。

二、自动生成Android.bp的工具

目前有以下几种可行的方式:

  • AOSP官方工具androidmk:这是最可靠的工具,可将Android Studio自动生成的Android.mk文件转换为Android.bp。使用方式:
    # 在AOSP环境中执行(需先确保androidmk已编译)
    androidmk app/src/main/jni/Android.mk > Android.bp
    
    注:androidmk是AOSP源码中的工具,路径为build/soong/scripts/androidmk,可直接执行或先编译后使用。
  • 第三方脚本/插件:部分社区开发者提供了转换脚本,但稳定性和兼容性不如官方工具,建议优先使用androidmk。
  • 注意:Android Studio本身没有直接生成AOSP兼容Android.bp的功能,因为它默认针对NDK独立编译流程,而非AOSP源码环境。

内容的提问来源于stack exchange,提问作者Álison Venâncio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 13:30:19