来源https://drakeet.me/gradle-change-android-resvalue-buildconfig-and-manifest
本文参考并得益于我的朋友 @linroid 的文章:《xip.io + gradle 在调试时动态设置服务端地址》,他写得很好,于是我将在这里写得更普适、完整一点,感谢与分享!
当我在修改 telegram 源码的时候,我需要提供 2 个版本,一,我自己的版本,二,分享给大家顺便使用的版本。其实二者唯一的差别就是 App 名称不一样,我自己的版本我想叫「Tel4Drakeet」,但分享给别人,叫这个名字可能不太合适。
因此,我如果每次手动修改再进行编译,显然很麻烦。于是想到借助 gradle,想到林的那篇文章,原本我只知道 buildConfigField 和类似友盟多渠道打包那样,修改清单文件内容 manifestPlaceholders,但这两种都不是我现在想要的,我要的是能够修改 res value 的方式,比如修改 strings.xml 文件中的 AppName 的值。
在林的文章中正好找到这点,貌似在整个互联网上并不容易找到。所以我要总结记录下来:
使用 gradle 在编译时动态配置 Android resValue
在你的 gradle 内容 buildTypes 或者 productFlavors 下面,如 release 体内写上类似:
resValue
|