Android开发中使用Gradle管理Release/Debug版本中的各种key

我们在开发中,如果使用高德地图、各种统计等第三方SDK时,一般都有两个key值,来区分是测试还是正式版本。一般都是写到AndroidManifest.xml中,在每次切换版本的时候手动去改。为了方便,我们可以使用Gradle,将key值写到build.gradle中,在AndroidManifest.xml中应用这个值。

我工作中用到了高德地图和腾讯统计,具体实现:

1.在build.gradle中分别设置Debug/Release的key

buildTypes {
     release {
          manifestPlaceholders = [AMAP_KEY_VALUE: "xxx",TA_KEY_VALUE: "xxx"]
        }
     debug {
          manifestPlaceholders = [AMAP_KEY_VALUE: "AAA",TA_KEY_VALUE: "AAA"]
        }
    }

2.在AndroidManifest.xml中设置key

 <meta-data
     android:name="TA_APPKEY"
     android:value="${TA_KEY_VALUE}" />

 <meta-data
     android:name="com.amap.api.v2.apikey"
     android:value="${AMAP_KEY_VALUE}" />

这样在运行的时候就会自动选择对应的key值了,再也不用手动改了(喜大普奔)

PS:manifestPlaceholders可以设置多个key,也可以设置一个 ,eg:manifestPlaceholders = [AMAP_KEY_VALUE: "AAA"]

真的觉得这个功能太方便了,不过我想知道有没有办法在Android studio中点击运行的时候,可以直接选择运行Release版本或者Debug版本。知道的一定要告诉我哦
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.介绍 如果你正在查阅build.gradle文件的所有可选项,请点击这里进行查阅:DSL参考 1.1新构建系统...
    Chuckiefan阅读 12,190评论 8 72
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,010评论 19 139
  • 转载注明出处:http://www.jianshu.com/p/5255b100930e 0. 前言 完全由个人翻...
    王三的猫阿德阅读 2,581评论 0 4
  • 这一章主要针对项目中可以用到的一些实用功能来介绍Android Gradle,比如如何隐藏我们的证书文件,降低风险...
    acc8226阅读 7,701评论 3 25
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,663评论 25 708