android 编译拷贝,android源码编译时拷贝替换指定文件

2023-11-12

由于要做版本定制,某些版本的资源文件等(例如style.xml)需要不同的配置,但是android的编译开关无法在xml里使用,于是想到了编译时根据不同的编译开关编译不同的文件,如下:

1.建立A.xml文件,当编译开关OEM_CUSTOMER_SUPPORT=22时编译将该文件拷贝到指定目录。

建立B.xml文件,当编译开关OEM_CUSTOMER_SUPPORT不等于22时,将该文件拷贝到指定目录。

2.编写拷贝脚本文件myDefine.sh,内容为:

#!/bin/bash

#

if [ $OEM_CUSTOMER_SUPPORT -eq 22 ] ; then

cp packages/apps/xxx/config/A.xml packages/apps/xxx/res/values/styles.xml

else

cp packages/apps/xxx/config/B.xml packages/apps/xxx/res/values/styles.xml

fi

3.将拷贝脚本文件myDefine.sh加入到系统编译build/core/main.mk

......

# A helper goal printing out install paths

.PHONY: GET-INSTALL-PATH

GET-INSTALL-PATH:

@$(foreach m, $(ALL_MODULES), $(if $(ALL_MODULES.$(m).INSTALLED), \

echo ‘INSTALL-PATH: $(m) $(ALL_MODULES.$(m).INSTALLED)‘;))

else # ONE_SHOT_MAKEFILE

ifneq ($(dont_bother),true)

#

# Include all of the makefiles in the system

#

# Can‘t use first-makefiles-under here because

# --mindepth=2 makes the prunes not work.

$(shell chmod 777 packages/apps/PeepHole/config/PeepHoleStyle.sh)

$(shell packages/apps/PeepHole/config/PeepHoleStyle.sh)

......

粗体部分为新加内容,第一句是使得sh脚本有读写执行的权限,第二句是真正的执行

原文:http://www.cnblogs.com/suxiaoqi/p/7299643.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

android 编译拷贝,android源码编译时拷贝替换指定文件 的相关文章

  • openssl在windows环境和linux环境中的使用问题

    场景 使用c程序调用openssl在windows上进行加密 加密之后的结果放到linux环境中使用 问题 发现在windows中加密之后的密码 在linux环境中使用openssl进行解密得到的结果与加密之前不符 原因 发现是window
  • 第三章 信息系统资源管理

    信息系统资源管理概述 信息系统资源管理 为完成信息系统资源的合理开发和高效利用 保证优质的信息系统上线 并能发挥信息系统在企业运行中的重要作用所采取的一系列管理措施 信息系统基本概念 信息系统 IS 信息系统是一个完成信息采集 传递 存储
  • Clion2021的安装并实现stm32F103点亮LED

    CLion是Jetbrains公司旗下新推出的一款专为开发C C 所设计的跨平台IDE 它是以IntelliJ为基础设计的 同时还包含了许多智能功能来提高开发人员的生产力 CLion专为使用C和C 以及 Kotlin Native Rust
  • Vue经典面试题 ,为什么组件中的data是一个函数而不是一个对象

    为什么vue组件中的data是一个函数 官方解析 Vue 实例的数据对象 Vue 会递归地把 data 的 property 转换为 getter setter 从而让 data 的 property 能够响应数据变化 当一个组件被定义 d
  • 【电力电子技术】全桥 半桥 推挽 双管正激 DC-DC

    BUCK BOOST BUCK BOOST CUK SEPIC ZETA 二象限 四象限 多重多相DCDC FLYBACK FORWARD 全桥 半桥 推挽 双管正激 DC DC CURRENT DOUBLER
  • IEEE-754 64位双精度浮点数存储详解

    IEEE 754双精度浮点数 IEEE二进制浮点数算术标准 IEEE 754 规定了四种表示浮点数值的方式 单精确度 32位 双精确度 64位 延伸单精确度 43比特以上 很少使用 与延伸双精确度 79比特以上 通常以80位实现 本文介绍6
  • 干货!小白入门Python数据科学全教程 Python大数据分析

    本文讲解了从零开始学习Python数据科学的全过程 涵盖各种工具和方法 你将会学习到如何使用python做基本的数据分析 你还可以了解机器学习算法的原理和使用 说明 先说一段题外话 我是一名数据工程师 在用SAS做分析超过5年后 决定走出舒
  • Python中去掉字符串空格的方法有哪些?

    在Python中 当我们使用Python处理字符串时 经常会遇到字符串中包含空格的情况 那么Python如何去掉字符串空格 有多种方法可以从Python字符串中删除空格 以下是详细内容介绍 1 使用strip 方法 它是一个Python内置
  • KeyError: ‘Transformer/...query\\kernel is not a file in the archive‘,已解决。

    在跑TransUNet时 遇到很多报错 前面的都是一些版本不对应问题 然后遇到了这个源码还未完善的小bug 这个错误主要由字符串地址拼接时Windows和Linux等其他系统不太一样 Windows使用 符号 所以找到字符串拼接的地方加上
  • linux中 .zip .gz .tar 的差别及解压缩命令

    一 Linux下最常用的压缩文件就是 tar了 使用tar程序打出来的包我们常称为tar包 对于tar包 可以再用gz zip等压缩算法再次压缩 比如 jdk 8u181 linux x64 tar gz 二 解压缩命令 tar 可以保留原
  • pe模式下修复usb驱动_伺服驱动器三种控制模式的接线

    我们在平时控制伺服电机的时候 经常用到的控制模式就是三种模式分别是速度控制模式 位置控制模式 转矩控制模式 现以三菱的伺服驱动器为例 下面分别了解一下每个模式的控制接线及其注意事项 一 速度控制模式 注 1 为了防止触电 请务必将伺服放大器
  • python高级培训第五次任务

    使用定时器实现当前时间每秒循环输出一次 import threading import time def run print time strftime Y m d H M S time localtime time time t thre
  • 仿微信实现ListView长按删除

    简言 仿微信做了一个对话列表 长按每个列表项弹出popupwindow进行删除操作 最终效果如下 第一步 制作列表界面 可以是ListView 也可以是RecyclerView 布局大家可以自己设计 本文采用的是ListView 第二步 为
  • blockly

    学习自定义块 视频学习 https developers google com blockly guides create custom blocks blockly developer tools hl zh cn 自定义地址 https
  • 作为一个C++新手,我感兴趣的C++开源项目

    2023年4月30日 周日晚上 昨天完成了一个C 项目后 想再开始一个C 项目 但不知道做什么 于是决定看看有什么好的C 开源项目 今晚在网上逛了一圈后 发现了好多有趣的C 开源项目 参考文章 GitHub Top 10 C 优质开源项目
  • SQLServer连接Pgsql或mysql读写数据

    问题 想把SQLServer的数据库迁移到PgSql里面 因为两个数据库业务表的结构和字段都不一样 需要逐表进行按需抽取想要的字段并导入数据 解决方案 可以在SqlServer里面创建链接服务器 链接到Pgsql的表 然后在SQLServe
  • 如何在Anaconda安装Pygame

    开始之前 先来安装Pygame 可使用pip模块来帮助下载安装python包 要安装Pygame 需在终端提示符下执行如下命令 python m pip install user pygame 对于下载了anaconda用户 可按以下操作
  • cisp-pte考试复盘及常考题型总结

    一 选择题 说基础也不基础 pte的题都是偏实践的那一类 感觉也不算简单 不好好看看还真容易栽这上面 那就太可惜了 比如 DMZ区 php伪协议 谷歌命令 00截断中对php版本的要求等等类似的 二 大题 1 sql注入 1 碎碎念 第一题
  • R语言系统教程(八):绘图命令

    R语言系统教程 八 绘图命令 8 1 高水平绘图函数 8 1 1 plot 函数 8 1 2 显示多变量数据 8 1 3 显示图形 8 2 高水平绘图中的命令 8 2 1 图中的逻辑命令 8 2 2 数据取对数 8 2 3 type 8 2

随机推荐