Build 动态修改 AndroidManifest 相关配置
来源:互联网 发布:奇葩 知乎 编辑:程序博客网 时间:2024/05/09 05:48
使用场景:
当我们需要引用三方平台(例如:极光推送)的时候,我们需要在AndroidManifest多处配置当前应用的包名,如果想要更换包名,
我们就需要在对应的地方作出相关修改,如果频繁操作,很容易出错,也比较麻烦,此时我们就可以用相关变量作占位,
然后在build.gradle中作出相关设置,这样就可以只用修改一处即可。如图:
相关代码:
productFlavors { //测试 "要修改的值" {}}//替换AndroidManifest.xml的pkgNmae字符串为渠道名称 android.applicationVariants.all { variant -> variant.outputs[0].processManifest.doLast { //之前这里用的copy{},我换成了文件操作,这样可以在v1.11版本正常运行,并保持文件夹整洁 //${buildDir}是指build文件夹 //${variant.dirName}是flavor/buildtype,例如GooglePlay/release,运行时会自动生成 //下面的路径是类似这样:build/manifests/GooglePlay/release/AndroidManifest.xml def manifestFile = "${buildDir}/intermediates/manifests/full/${variant.outputs[0].dirName}/AndroidManifest.xml" //将字符串default替换成flavor的名字 def updatedContent = new File(manifestFile).getText('UTF-8').replaceAll("pkgNmae", "${variant.productFlavors[0].name}") new File(manifestFile).write(updatedContent, 'UTF-8') //将此次flavor的AndroidManifest.xml文件指定为我们修改过的这个文件 variant.outputs[0].processResources.manifestFile = file("${buildDir}/intermediates/manifests/full/${variant.outputs[0].dirName}/AndroidManifest.xml") }}
重新编译后可在输出目录直接查看AndroidManifest里面的相关值,如图:
0 0
- Build 动态修改 AndroidManifest 相关配置
- AndroidManifest动态修改包名
- AndroidManifest 相关
- batman相关配置修改
- 动态修改配置项
- 动态修改数据源配置
- AndroidManifest.xml相关
- IIS 出错 修改相关配置
- hadoop配置相关前置修改
- 修改系统登录相关配置
- AndroidManifest属性修改
- Build相关
- 动态修改MYSQL配置参数
- 动态修改MYSQL配置参数
- log4.net动态修改配置
- 动态修改JDBC数据源配置
- AndroidManifest.xml之动态修改应用的图标和应用名称
- 使用build.grade文件配置相关参数与多渠道打包
- 机器学习--决策树算法
- Linux - Linux下操作Tomcat的命令
- 谈谈JAVA关键字—final
- 通过Adb命令抓取手机Log
- Java基础加强之集合篇(模块记忆、精要分析)
- Build 动态修改 AndroidManifest 相关配置
- Java学习路线
- INFOQ 深入浅出Docker(二):Docker命令行探秘
- xUtils 3.0 post使用详解
- Aerospike Query Language 介绍
- RobotFrameWork(六)控制流之For循环
- submit text3常用快捷键
- 生成表格实现
- C/C++根据图片URL下载图片