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日志分析工具

你可能感兴趣的:(Android系统,framework模块定制开发,Android系统定制开发,Android系统定制)