Android.mk和Android.bp

公司承接Android、iOS等APP开发、前后端网站开发、小程序开发、安全服务等项目!
公司官网:www.bincodesec.com

项目案例

一、编译不同类型的模块

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 {

}

二、文件路径

1.本地头文件路径​​​​​​​

Android.mk
LOCAL_C_INCLUDES :=

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

2.导出的头文件路径​​​​​​​

Android.mk
LOCAL_EXPORT_C_INCLUDE_DIRS := 

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

3.资源文件路径​​​​​​​

Android.mk
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/
LOCAL_ASSET_DIR := $(LOCAL_PATH)/

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

三、库依赖

1.依赖的静态库​​​​​​​

Android.mk
LOCAL_STATIC_LIBRARIES := 

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

2.依赖的动态库​​​​​​​

Android.mk
LOCAL_SHARED_LIBRARIES := 

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

3.依赖的头文件库​​​​​​​

Android.mk
LOCAL_JAVA_LIBRARIES := 

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

4.依赖的Java库​​​​​​​

Android.mk
LOCAL_STATIC_JAVA_LIBRARIES :=

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

四、安装到不同分区中

1.安装到vendor中​​​​​​​

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

Android.bp
proprietary: true
  or
vendor: true

2.安装到product中​​​​​​​

Android.mk
LOCAL_PRODUCT_MODULE := true

Android.bp
product_specific: true

3.安装到odm中​​​​​​​

Android.mk
LOCAL_ODM_MODULE := true

Android.bp
device_specific: true

五、编译参数

1.C flags​​​​​​​

Android.mk
LOCAL_CFLAGS := 

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

2.Cpp flags​​​​​​​

Android.mk
LOCAL_CPPFLAGS := 

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

3.Java flags​​​​​​​

Android.mk
LOCAL_JAVACFLAGS := 

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

推荐阅读

Android系统源码编译系列

Android14或更高版本(安全措施)

Android异常日志快速定位分析小技巧

Android O/P/Q/R及以上系统预置apk

Android ANR/Crash Log日志分析技巧总结

开发system权限的App并内置到Android系统

Windows/Linux/MacOS文本大文件Log日志分析工具

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哆啦安全

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值