背景:

有时间有些需求,需要我们动态的修改AndroidMainFest文件,比如我想把应用所有的横屏改成竖屏。如果用手动替换搜索也可以,但是就会有一个问题就是,和其他分支合并的时候,容易产生冲突。

Step1:

在build.gradle 里面 最外面直接加上以下代码:

具体代码如下:

android.applicationVariants.all { variant ->variant.outputs.all { output ->output.processResources.doFirst { pm ->String manifestPath = output.processResources.manifestFileprintln "=====test manifestPath=====$manifestPath"def manifestContent = file(manifestPath).getText()println("replace screenOrientation:")//横屏改成竖屏manifestContent = manifestContent.replaceAll('android:screenOrientation="landscape"','android:screenOrientation="portrait"')def xml = new XmlParser().parseText(manifestContent)println "=====test xml=====$xml"//增加一个meta-data节点xml.application[0].appendNode("meta-data", ['android:name': 'channel', 'android:value': 'yingyongbao']) //增加一个属性                            xml.application[0].attributes().put("android:persistent", "true")def serialize = groovy.xml.XmlUtil.serialize(xml)file(manifestPath).write(serialize)def outputFile = output.outputFileif (outputFile != null && outputFile.name.endsWith(".apk")) {def fileName = "Android_test.apk"output.outputFileName = fileName}}}
}

Android 编译期间 动态修改AndroidMainFest文件相关推荐

  1. android动态更新配置文件,Android如何动态修改Manifest文件

    修改manifest文件Android Manifest.xml,添加相应的声明.在这里,我们需要将新定义的活动PrefsActivity注册到manifest文件. 同前面一样,在Eclipse中打 ...

  2. Android运行时修改Manifest,Android如何动态修改Manifest文件

    慕妹3242003 修改manifest文件Android Manifest.xml,添加相应的声明.在这里,我们需要将新定义的活动PrefsActivity注册到manifest文件.同前面一样,在 ...

  3. android 动态修改资源,Android如何动态修改Manifest文件

    修改manifest文件Android Manifest.xml,添加相应的声明.在这里,我们需要将新定义的活动PrefsActivity注册到manifest文件. 同前面一样,在Eclipse中打 ...

  4. maven 根据P参数值打包动态修改properties文件中值或一定properties

     http://www.tuicool.com/articles/Mj2EzqN 由于本人 最近忙着公司事情,昨天没有写博客,今天就继续写吧 需求:由于最近开发clover项目 ,没有使用spri ...

  5. android背景颜色动态修改,Android自定义TextView带圆角及背景颜色(动态改变圆角背景颜色)...

    最近根据项目需求自定义了一个TextView控件,主要用来做状态的标识,比如一个订单状态有各种,当然了这种设置在Android中可以直接用xml文件来处理,但是对于xml文件太过于麻烦,针对不同的颜色 ...

  6. Android 10.0动态修改系统属性设备型号(Build.MODEL)

    定制化开发中设备型号(ro.product.model)的修改,可以在\build\tools\buildinfo.sh中修改,不过这种方式只能写死了, 所以需要根据不同情况动态修改设备型号 就得修改 ...

  7. 使用ICON动态修改exe文件图标

    前言:这两天为exe文件做一个随机图标的功能,要求每次运行后图标都动态改变,在网上找了很多代码,都有一部分缺陷,参考了一些文档后进行了修改,现在在此进行总结: 一个icon资源(可以是*.ico文件, ...

  8. Android 开发中动态修改StatusBar 的字体颜色(仅可以黑白)

    在开发中,产品要实现一个点击搜索,然后改变statusbar的字体颜色,百度了一通,发现,有一个比较好的blog 可以实现该效果 ,正好可以实现该效果,不论如何先上效果图: 将工具类代码贴上来 这个方 ...

  9. android动态显示键盘,动态修改EditText输入键盘并隐藏或显示密码

    做登录或转账系统的人会碰到需要输入密码的情况,而且可能会要求有时明文显示,有时密文显示.如何通过代码来控制呢? 下面的xml定义了一个输入框EditText,默认是系统键盘: android:id=& ...

最新文章

  1. 赛码浪潮笔试题库软件实施岗位_赛码 -HRTechChina中国人力资源科技-向上的力量!...
  2. Tensorflow2.x.x最基础的神经网络(ANN)
  3. Yii的查询搜索函数find findAll findOne:find就是返回结果 findone就是返回一条数据 findall就是返回所有数据
  4. linux暗转旧版java_Java旧版不断发展
  5. [vue] 从0到1自己构架一个vue项目,说说有哪些步骤、哪些重要插件、目录结构你会怎么组织
  6. 计算机原理含汇编语言,计算机组成原理(含汇编语言)试题库.docx
  7. axios vue 回调函数_VUE使用axios调用后台API接口的方法
  8. 基本sql语句--触发器
  9. 平时使用比较多的js脚本
  10. Android操作系统版本
  11. 网页实现二维码扫描和解析
  12. Sql Server 数据库出现“可疑”的解决办法
  13. [UPF]Synopsys推荐的UPF流程及Power Domain简介
  14. 免费的在线PDF转换word网站推荐
  15. Spell Checker
  16. 远程桌面控制软件Teamviewer免费版安装
  17. 怎么办,linux的常用命令就是记不住?于是每天推一些linux指令实践总结 -1
  18. DSPE-PEG7-Mal新研博美 小分子PEG的循环节可以做到1-36个
  19. ardupilot软件仿真及调试(vscode版)
  20. Java------IO流与异常处理机制 详解

热门文章

  1. python requests_Python爬虫之requests模块
  2. php编译7教程,LANMP系列教程之php编译安装CentOS7环境
  3. C++对象模型8——构造函数和析构函数中对虚函数的调用、全局对象构造和析构、局部static数组的内存分配
  4. Opencv深拷贝与浅拷贝
  5. _tmain和main
  6. ViSP安装与配置VS工程(常见方式-VS2019属性页方法)
  7. Android 自定义电池控件
  8. 正视CSS 08】巅峰对武之float你为什么要坍塌我的元素!!!
  9. js获取当前浏览器地址栏的链接,然后在链接后面加参数
  10. [詹兴致矩阵论习题参考解答]习题6.6