当前位置: 首页 > news >正文

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

http://www.lryc.cn/news/184043.html

相关文章:

  • CSS 常用样式-文本属性
  • BootstrapBlazor企业级组件库:前端开发的革新之路
  • 力扣 -- 1745. 分割回文串 IV
  • C# 给某个方法设定执行超时时间
  • 安装NodeJS并使用yarn下载前端依赖
  • (Java高级教程)第三章Java网络编程-第八节:博客系统搭建(前后端分离)
  • 901. 股票价格跨度
  • JavaScript中的模块化编程,包括CommonJS和ES6模块的区别。
  • 从零开始 Spring Cloud 13:分布式事务
  • 2023Node.js零基础教程(小白友好型),nodejs新手到高手,(二)NodeJS入门——buffer模块、计算机基础、fs模块、path模块
  • lua如何调用C/C++
  • 简单聊一聊公平锁和非公平锁,parallel并行流
  • 【SpringCloud】微服务技术栈入门4 - RabbitMQ初探
  • cefsharp(117.2.20)cef117.2.2最新体验版
  • layui在上传图片在前端处理图片压缩
  • js 事件参考
  • 卷积网络的发展历史-LeNet
  • (2023,GPT-4V,LLM,LMM,功能和应用)大型多模态模型的黎明:GPT-4V(ision) 的初步探索
  • 【C++设计模式之装饰模式:结构型】分析及示例
  • 绘制散点图、曲线图、折线图和环形图失败, 设置迭代次数和进度无法保存图片
  • micro-ROS中对消息的内存管理
  • Springboot中使用拦截器、过滤器、监听器
  • 代码随想录二刷day45
  • 泊车功能专题介绍 ———— AVP系统基础数据交互内容
  • 蓝桥杯每日一题2023.10.6
  • 7、【Qlib】【主要组件】Data Layer:数据框架与使用
  • Kubernetes安装部署 1
  • 在VS Code中优雅地编辑csv文件
  • LCR 128.库存管理 I
  • eigen::Affine3d 转换