Android.mk转Android.bp及介绍

一、Android.mk转成Android.bp是可以通过工具转换的

工具的路径为:ASOP/out/soong/host/linux-x86/bin/androidmk

直接把你要转换的Android.mk 文件放置到此目录下,然后执行命令:

./androidmk Android.mk > Android.bp

二、编译不同类型模块的写法

1、编译成 Java 库

Android.mk
include $(BUILD_JAVA_LIBRARY)

Android.bp
java_library {

......

}

2 编译成 Java 静态库

Android.mk
include $(BUILD_STATIC_JAVA_LIBRARY)

Android.bp
java_library_static {
......
}

3 编译成 App 应用

Android.mk
include $(BUILD_PACKAGE)

Android.bp
android_app {
......
}

4、 编译成 Native 动态库

Android.mk
include $(BUILD_SHARED_LIBRARY)

Android.bp
cc_library_shared {
......
}

5 编译成 Native 静态库

Android.mk
include $(BUILD_STATIC_LIBRARY)

Android.bp
cc_library_static {
......
}

6、编译成 Native 执行程序

Android.mk
include $(BUILD_EXECUTABLE)

Android.bp
cc_binary {
......
}

7、编译成头文件库

Android.mk
include $(BUILD_HEADER_LIBRARY)

Android.bp
cc_library_headers {
......
}

8、添加本地头文件路径

Android.mk
LOCAL_C_INCLUDES :=

Android.bp
local_include_dirs: ["xxx", ...]

9、导出的头文件路径

Android.mk
LOCAL_EXPORT_C_INCLUDE_DIRS :=

Android.bp
export_include_dirs: ["xxx", ...]

10、设置资源文件路径

Android.mk
LOCAL_RESOURCE_DIR :=

Android.bp
resource_dirs: ["xxx", ...]

11、添加依赖的静态库

Android.mk
LOCAL_STATIC_LIBRARIES :=

Android.bp
static_libs: ["xxx", "xxx", ...]

12、添加依赖的动态库

Android.mk
LOCAL_SHARED_LIBRARIES :=

Android.bp
shared_libs: ["xxx", "xxx", ...]

13、添加依赖的头文件库

Android.mk
LOCAL_JAVA_LIBRARIES :=

Android.bp
header_libs: ["xxx", "xxx", ...]

14、添加依赖的 Java 库

Android.mk
LOCAL_STATIC_JAVA_LIBRARIES :=

Android.bp
static_libs: ["xxx", "xxx", ...]

15、应用安装到vendor中

Android.mk
LOCAL_VENDOR_MODULE := true
or
LOCAL_PROPRIETARY_MODULE := true

Android.bp
proprietary: true
or
vendor: true

16、应用安装到product中

Android.mk
LOCAL_PRODUCT_MODULE := true

Android.bp
product_specific: true

17、应用安装到odm中

Android.mk
LOCAL_ODM_MODULE := true

Android.bp
device_specific: true

18、添加编译参数(宏开关)

C语言
Android.mk
LOCAL_CFLAGS :=

Android.bp
cflags: ["xxx", "xxx", ...]

------------------------------------------------------
C++
Android.mk
LOCAL_CPPFLAGS :=

Android.bp
cppflags: ["xxx", "xxx", ...]

----------------------------------------------------------
JAVA
Android.mk
LOCAL_JAVACFLAGS :=

Android.bp
javacflags: ["xxx", "xxx", ...]

更多精彩尽在公众号:Android全贯通

android.mk 是一种用于构建 Android 应用程序的 Makefile 文件格式,而 android.bp 是将要取代 android.mk 的一种新的构建系统文件格式,它是用于生成 Android 系统的 Blueprint 构建系统的配置文件。 要将 android.mk 转成 android.bp,首先需要了解 android.mk 的结构和语法规则,然后根据这些规则来编写对应的 android.bp 文件。由于 android.bp 是基于 Blueprint 构建系统的配置文件,所以需要通过编写规范的 Blueprint 描述文件来完成对 android.mk换。 在换过程中,需要注意以下几点: 1. 将 android.mk 文件中的每个模块(例如库,可执行文件,模块等)的描述换为对应的 android.bp 格式。 2. 考虑和处理 android.bp 特有的新特性和语法规则,例如 module {} 块的使用。 3. 更新外部依赖项的描述,如库的引入方式、依赖关系的定义等。 4. 调整路径和命名规则,使之符合 android.bp 的文件组织结构和命名规范。 在换完成后,需要进行测试和验证,确保换后的 android.bp 文件可以正确地生成相应的 Android 应用程序。同时,也需要注意在换过程中可能会出现的兼容性问题,确保换后的 android.bp 文件能够正常地被构建系统接受并使用。 总的来说,将 android.mk 转成 android.bp 需要对 android.mk 的结构和语法进行理解,并根据 Blueprint 构建系统的规则和特性来进行相应的换和调整。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值