安卓bp文件和mk文件转换

目录

  • 前言
  • 一、编译相关参数
    • [1.1 Java flags](#1.1 Java flags)
    • [1.2 C flags](#1.2 C flags)
    • [1.3 Cpp flags](#1.3 Cpp flags)
  • 二、文件路径
    • [2.1 资源文件路径](#2.1 资源文件路径)
    • [2.2 导出的头文件路径](#2.2 导出的头文件路径)
    • [2.3 本地头文件路径](#2.3 本地头文件路径)
  • 三、安装分区控制
    • [3.1 安装到 odm 中](#3.1 安装到 odm 中)
    • [3.2 安装到 product 中](#3.2 安装到 product 中)
    • [3.3 安装到 vendor 中](#3.3 安装到 vendor 中)
  • 四、库依赖
    • [4.1 依赖的模块的共享链接库](#4.1 依赖的模块的共享链接库)
    • [4.2 依赖的动态库](#4.2 依赖的动态库)
    • [4.3 依赖的静态库](#4.3 依赖的静态库)
  • 五、编译不同类型的模块
    • [5.1 编译成 C/C++ 动态库](#5.1 编译成 C/C++ 动态库)
    • [5.2 编译成 C/C++ 静态库](#5.2 编译成 C/C++ 静态库)
    • [5.3 主机端动态 C/C++ 库](#5.3 主机端动态 C/C++ 库)
    • [5.4 主机端静态 C/C++ 库](#5.4 主机端静态 C/C++ 库)
    • [5.5 编译成 C/C++头文件库](#5.5 编译成 C/C++头文件库)
    • [5.6 C/C++ 可执行程序](#5.6 C/C++ 可执行程序)
    • [5.7 主机端 C/C++ 可执行程序](#5.7 主机端 C/C++ 可执行程序)
    • [5.8 C/C++ 测试程序](#5.8 C/C++ 测试程序)
    • [5.9 主机端 C/C++ 测试程序](#5.9 主机端 C/C++ 测试程序)
    • [5.10 C/C++ 基准测试程序](#5.10 C/C++ 基准测试程序)
    • [5.11 主机端 C/C++ 基准测试程序](#5.11 主机端 C/C++ 基准测试程序)
    • [5.12 可安装的 Java 库](#5.12 可安装的 Java 库)
    • [5.13 Java 库](#5.13 Java 库)
    • [5.14 Java 静态库](#5.14 Java 静态库)
    • [5.15 主机端 Java 库](#5.15 主机端 Java 库)
    • [5.16 主机端 Dalvik Java 库](#5.16 主机端 Dalvik Java 库)
    • [5.17 Android 应用程序](#5.17 Android 应用程序)
    • [5.18 CTS 支持包](#5.18 CTS 支持包)
    • [5.19 CTS 测试包](#5.19 CTS 测试包)
    • [5.20 CTS 目标 Java 库](#5.20 CTS 目标 Java 库)
    • [5.21 CTS 主机端 Java 库](#5.21 CTS 主机端 Java 库)

前言

Tips:在安卓源码 build\soong\androidmk\androidmk 路径下的 android.go 文件中有bp 文件和 mk 文件的转换过程


一、编译相关参数

1.1 Java flags

c 复制代码
Android.mk LOCAL_JAVACFLAGS :=
Android.bp javacflags: ["xxx", "xxx", ...]

1.2 C flags

c 复制代码
Android.mk LOCAL_CFLAGS :=
Android.bp cflags: ["xxx", "xxx", ...]

1.3 Cpp flags

c 复制代码
Android.mk LOCAL_CPPFLAGS :=
Android.bp cppflags : ["xxx", "xxx", ...]

二、文件路径

2.1 资源文件路径

c 复制代码
Android.mk LOCAL_RESOURCE_DIR :=
Android.bp resource_dirs: ["xxx", ...]

2.2 导出的头文件路径

c 复制代码
Android.mk LOCAL_EXPORT_C_INCLUDE_DIRS :=
Android.bp export_include_dirs: ["xxx", ...]

2.3 本地头文件路径

c 复制代码
Android.mk LOCAL_C_INCLUDES :=
Android.bp local_include_dirs: ["xxx", ...]

三、安装分区控制

3.1 安装到 odm 中

c 复制代码
Android.mk LOCAL_ODM_MODULE := tru
Android.bp device_specific: true

3.2 安装到 product 中

c 复制代码
Android.mk LOCAL_PRODUCT_MODULE := true
Android.bp product_specific: true

3.3 安装到 vendor 中

c 复制代码
Android.mk LOCAL_VENDOR_MODULE := true or
LOCAL_PROPRIETARY_MODULE := true
Android.bp proprietary: true or vendor: true

四、库依赖

4.1 依赖的模块的共享链接库

c 复制代码
Android.mk LOCAL_STATIC_LIBRARIES :=
Android.bp libs: ["xxx", "xxx", ...]

4.2 依赖的动态库

c 复制代码
Android.mk LOCAL_SHARED_LIBRARIES :=
Android.bp shared_libs: ["xxx", "xxx", ...]

4.3 依赖的静态库

c 复制代码
Android.mk LOCAL_STATIC_LIBRARIES :=
Android.bp static_libs: ["xxx", "xxx", ...]

五、编译不同类型的模块

5.1 编译成 C/C++ 动态库

c 复制代码
Android.mk include $(BUILD_SHARED_LIBRARY)
Android.bp cc_library_shared { ... }

5.2 编译成 C/C++ 静态库

c 复制代码
Android.mk include $(BUILD_STATIC_LIBRARY)
Android.bp cc_library_static { ... }

5.3 主机端动态 C/C++ 库

c 复制代码
Android.mk include $(BUILD_HOST_SHARED_LIBRARY)
Android.bp cc_library_host_shared { ... }

5.4 主机端静态 C/C++ 库

c 复制代码
Android.mk include $(BUILD_HOST_STATIC_LIBRARY)
Android.bp cc_library_host_static { ... }

5.5 编译成 C/C++头文件库

c 复制代码
Android.mk include $(BUILD_HEADER_LIBRARY)
Android.bp cc_library_headers { ... }

5.6 C/C++ 可执行程序

c 复制代码
Android.mk include $(BUILD_EXECUTABLE)
Android.bp cc_binary { ... }

5.7 主机端 C/C++ 可执行程序

c 复制代码
Android.mk include $(BUILD_HOST_EXECUTABLE)
Android.bp cc_binary_host { ... }

5.8 C/C++ 测试程序

c 复制代码
Android.mk include $(BUILD_NATIVE_TEST)
Android.bp cc_test { ... }

5.9 主机端 C/C++ 测试程序

c 复制代码
Android.mk include $(BUILD_HOST_NATIVE_TEST)
Android.bp cc_test_host { ... }

5.10 C/C++ 基准测试程序

c 复制代码
Android.mk include $(BUILD_HOST_NATIVE_TEST)
Android.bp cc_test_host { ... }

5.11 主机端 C/C++ 基准测试程序

c 复制代码
Android.mk include $(BUILD_HOST_NATIVE_BENCHMARK)
Android.bp cc_benchmark_host { ... }

5.12 可安装的 Java 库

c 复制代码
Android.mk include $(BUILD_JAVA_LIBRARY)
Android.bp java_library_installable { ... }

5.13 Java 库

c 复制代码
Android.mk include $(BUILD_STATIC_JAVA_LIBRARY)
Android.bp java_library { ... }

5.14 Java 静态库

c 复制代码
Android.mk include $(BUILD_STATIC_JAVA_LIBRARY)
Android.bp java_library_static { ... }

5.15 主机端 Java 库

c 复制代码
Android.mk include $(BUILD_HOST_JAVA_LIBRARY)
Android.bp java_library_host { ... }

5.16 主机端 Dalvik Java 库

c 复制代码
Android.mk include $(BUILD_HOST_DALVIK_JAVA_LIBRARY)
Android.bp java_library_host_dalvik { ... }

5.17 Android 应用程序

c 复制代码
Android.mk include $(BUILD_PACKAGE)
Android.bp android_app { ... }

5.18 CTS 支持包

c 复制代码
Android.mk include $(BUILD_CTS_SUPPORT_PACKAGE)
Android.bp cts_support_package { ... }

5.19 CTS 测试包

c 复制代码
Android.mk include $(BUILD_CTS_PACKAGE)
Android.bp cts_package { ... }

5.20 CTS 目标 Java 库

c 复制代码
Android.mk include $(BUILD_CTS_TARGET_JAVA_LIBRARY)
Android.bp cts_target_java_library { ... }

5.21 CTS 主机端 Java 库

c 复制代码
Android.mk include $(BUILD_CTS_HOST_JAVA_LIBRARY)
Android.bp cts_host_java_library { ... }
相关推荐
流氓也是种气质 _Cookie21 分钟前
如何创建MCP
android·adb
Kapaseker44 分钟前
扶我起来,Compose Styles API 进阶
android·kotlin
亘元有量-流量变现1 小时前
内外联动精细化运营:解锁安卓APP推广降本增效新路径
android·用户运营·aso优化·亘元有量·方糖试玩
nVisual1 小时前
nVisual:AI驱动的智能排障,平均响应时间缩短40%
android·人工智能·缓存
阿pin1 小时前
Android随笔-神经系统Handler
android·java·开发语言·handler
机智的张尼玛15 小时前
我基于 Kotlin Multiplatform 实现了一套跨平台的弱网离线同步引擎
android·开源·kotlin
安卓修改大师18 小时前
安卓修改大师反编译引擎Apktool深度解析:版本选择、参数说明与实战技巧
android
error:(18 小时前
【系统与实战双精通】VS Code 调试 ROS2 Python 节点与 Launch 系统指南
android·java·python
黄林晴20 小时前
Kuikly 是什么?和KMP有什么关系?
android·前端
帅次21 小时前
Android 高级工程师面试:Kotlin 语法基础 近1年高频追问 22 题
android·面试·kotlin·扩展函数·空安全