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 := trueor
LOCAL_PROPRIETARY_MODULE := trueAndroid.bp
proprietary: trueor
vendor: true
2.安装到product中
Android.mk
LOCAL_PRODUCT_MODULE := trueAndroid.bp
product_specific: true
3.安装到odm中
Android.mk
LOCAL_ODM_MODULE := trueAndroid.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日志分析工具