【控制Android.bp的编译】

1.首先Android.bp的语法是不支持if 条件语句的

2.查到可以用enabled来控制Android.bp中的模块是否参与编译,但是并不能实现动态的控制,比如你需要根据获取到的安卓版本来控制一个Android.bp是否编译,是无法做到的。enabled只能是固定的true或者false。

3.查到有用go脚本来动态控制向Android.bp增加CFlag的写法:【Android.bp正确姿势添加宏控制编译指南】

但是尝试了是无法向Android.bp覆盖enabled的操作的,也就是说即便你在go脚本中动态控制了enabled,但是Android.bp中的enabled并不会改变。

这边有看到一篇博客介绍的是通过go 脚本来动态控制需要编译的源文件,从而编出不一样的库:
【Android.bp 条件编译实现指南】
但是这篇博客和我的需求是不一样的,我需要直接能条件控制Android.bp中的模块是否参与编译,因为实战中我们可能需要完全区分开两个类似的模块,比如需要动态控制使用aidl \ hidl 接口,这种情况下,不光源文件不一样,依赖库也不一样

4.最好的办法就是将现有的Android.bp换成Android.mk, 需要注意的是换成Android.mk之后需要主动让这个Android.mk编译起来,可以参考【如何让新增的Android.mk参与编译】

另外,如果大家有更好的办法,欢迎在评论区讨论或者私信,我也是在不断的摸索,可能了解的有些片面,欢迎指教。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/40145.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

spark shuffle写操作——BypassMergeSortShuffleWriter

创建分区文件writer 每一个分区都生成一个临时文件,创建DiskBlockObjectWriter对象,放入partitionWriters 分区writer写入消息 遍历所有消息,每一条消息都使用分区器选择对应分区的writer然后写入 生成分区文件 将分区writer的数据flu…

Java中初始化一个List的多种方式

1.最原始的方式&#xff1a;先创建&#xff0c;然后再添加元素 List<String> list new ArrayList<>(); list.add("apple"); list.add("banana"); list.add("cherry");2.使用Arrays.asList 这是一种快速方便的方式&#xff0c;直接…

从海上长城到数字防线:视频技术在海域边防现代化中的创新应用

随着全球化和科技发展的加速&#xff0c;海域安全问题日益凸显其重要性。海域边防作为国家安全的第一道防线&#xff0c;其监控和管理面临着诸多挑战。近年来&#xff0c;视频技术的快速发展为海域边防场景提供了新的解决方案&#xff0c;其高效、实时、远程的监控特点极大地提…

面试八股Day1

JavaSE&#xff08;回顾&#xff09; 什么是java? java跟c的区别&#xff1f;Java语言有哪些特点&#xff1f;JVM、JDK和JRE有什么区别&#xff1f;什么是跨平台性&#xff1f;原理是什么&#xff1f;什么是字节码&#xff1f;采用字节码的好处是什么&#xff1f; 说说Java程…

如何快速开展每日待办工作 待办任务高效管理

每天&#xff0c;我们都需要处理大量的待办工作&#xff0c;如何高效有序地开展这些工作成为了我们必须要面对的问题。仅仅依靠个人的记忆和脑力去管理这些繁杂的事务&#xff0c;显然是一项艰巨的挑战。在这个时候&#xff0c;如果能有一款实用的待办工具来辅助我们&#xff0…

深入理解Spring应用中的初始化和清理代码执行方式

目录 引言使用PostConstruct和PreDestroy注解 PostConstructPreDestroy 实现InitializingBean和DisposableBean接口 afterPropertiesSet()destroy() 使用init-method和destroy-method属性 init-methoddestroy-method 使用Bean注解的initMethod和destroyMethod属性 initMethodd…

【高级篇】第8章 Elasticsearch 安全与权限管理

在深入探讨Elasticsearch高级应用的征途中,我们无法忽视其核心——安全与权限管理的重要性。此章节将为你全面剖析如何构建一个既强大又安全的数据搜索与分析平台。本章内容将围绕X-Pack的强大功能展开,深入用户与角色管理的实践,以及如何利用SSL/TLS加密来强化数据传输的安…

如何使用C++调用Pytorch模型进行推理测试:使用libtorch库

如何使用C调用Pytorch模型进行推理测试&#xff1a;使用libtorch库 目录 如何使用C调用Pytorch模型进行推理测试&#xff1a;使用libtorch库一、环境准备1&#xff0c;linux&#xff1a;以ubuntu 22.04系统为例1. 准备CUDA和CUDNN2. 准备C环境3, 下载libtorch文件4, 编写测试li…

期权学习必看圣书:《3小时快学期权》要在哪里看?

今天带你了解期权学习必看圣书&#xff1a;《3小时快学期权》要在哪里看&#xff1f;《3小时快学期权》是一本关于股票期权基础知识的书籍。 它旨在通过简明、易懂的语言和实用的案例&#xff0c;让读者在短时间内掌握股票期权的基本概念、操作方法和投资策略。通过这本书&…

img的onload事件不触发

var img new Image(); img.src "图片地址" img.addEventListener(load, function() {// 加载完后的处理 }, false);上面的代码&#xff0c;可能存在设置addEventListener之前&#xff0c;图片已经加载完了&#xff0c;onload事件不处罚。 调换一下img.src和img.add…

Linux系统(CentOS)安装Mysql5.7.x

安装准备&#xff1a; Linux系统(CentOS)添加防火墙、iptables的安装和配置 请访问地址&#xff1a;https://blog.csdn.net/esqabc/article/details/140209894 1&#xff0c;下载mysql安装文件&#xff08;mysql-5.7.44为例&#xff09; 选择Linux通用版本64位&#xff08;L…

算力互联网网络架构;SRV6;智享WAN

目录 算力互联网网络架构 SRV6 主要特点 应用场景 结论 G-SRV6 多层次网络切片 智享WAN 一、定义与背景 二、关键技术 三、应用场景与优势 四、发展现状与未来展望 智能算力网络成为智能经济时代代表性数字基础设施 算力互联网网络架构 为构建算力互联网这个前瞻性…

SQLAlchemy配置连接多个数据库

1.定义配置项 首先定义两个数据库的配置信息 # PostgreSQL database configuration DB_USERNAMEpostgres DB_PASSWORDpassord DB_HOST127.0.0.1 DB_PORT5432 DB_DATABASEtest# mysql database configuration DB_USERNAME_MYSQLroot DB_PASSWORD_MYSQLpassword DB_HOST_MYSQL127…

后端之路——阿里云OSS云存储

一、何为阿里云OSS 全名叫“阿里云对象存储OSS”&#xff0c;就是云存储&#xff0c;前端发文件到服务器&#xff0c;服务器不用再存到本地磁盘&#xff0c;可以直接传给“阿里云OSS”&#xff0c;存在网上。 二、怎么用 大体逻辑&#xff1a; 细分的话就是&#xff1a; 1、准…

Rust: Fury高性能序列化库尝试

在序列化库中&#xff0c;传统的有Json,XML&#xff0c;性能好的有thrift&#xff0c;protobuf等。据说Fury官网的介绍&#xff0c;Fury性能要远远好于protobuf&#xff0c;且不象protobuf还需要定义IDL&#xff0c;非常轻便&#xff0c;随取随用。 今天来尝试一下。 一、carg…

gitlab每日备份以及restore

gitlab服务有非常简洁的每日备份命令&#xff0c; 从production的gitlab的每日备份中restore到backup环境也非常方便。 一、Production gitlab每日备份 1. Production gitlab环境上编写脚本 cat /root/gitlab_bak.shgitlab-rake gitlab:backup:create > /var/opt/gitl…

JavaSE (Java基础):面向对象(下)

8.7 多态 什么是多态&#xff1f; 即同一方法可以根据发送对象的不同而采用多种不同的方式。 一个对象的实际类型是确定的&#xff0c;但可以指向对象的引用的类型有很多。在句话我是这样理解的&#xff1a; 在实例中使用方法都是根据他最开始将类实例化最左边的类型来定的&…

消息中间件ApacheKafka在windows简单安装

一.背景 之前公司需要API网关管理软件ApacheShenYu&#xff0c;我相信把调用的记录都存到一个数据库。他支持日志推送到kafka&#xff0c;所以&#xff0c;我准备尝试一下通过kafka接收调用的日志信息。第一步&#xff0c;当然是安装kafka了。 二.ApacheKafka的下载 打开下载…

【C++】 解决 C++ 语言报错:Memory Leak

文章目录 引言 内存泄漏&#xff08;Memory Leak&#xff09;是 C 编程中常见且严重的内存管理问题之一。当程序分配了内存而没有正确释放&#xff0c;导致内存无法被重新利用时&#xff0c;就会发生内存泄漏。这种错误会导致程序占用越来越多的内存&#xff0c;最终可能导致系…

关于人情世故的小讨论

大家好&#xff0c;我是阿赵。   最近国内篮球界内出了不少事情&#xff0c;让人对篮球这项运动产生了很多疑问。   去年的CUBA&#xff0c;拥有全国最好生源的清华大学居然输给了连985 、211都不是的广东工业大学。作为广工的毕业生&#xff0c;我知道广工的篮球一直都很强…