博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用gradle自动配置百度地图Key
阅读量:5861 次
发布时间:2019-06-19

本文共 1930 字,大约阅读时间需要 6 分钟。

在开发中需要使用百度地图,百度地图会需要有两个key:releasedebug,需要使用对应的签名证书的SHA1在百度地图的开发平台上申请()。

获取签名证书SHA1的方式:
cd到.android所在的目录:

keytool -list -v -keystore debug.keystore

同样的方式可以到release签名证书的SHA1。

现在我们就有了两个百度地图的key:release-keydebug-key
一般情况需要在AndroidManifest指定对于的百度地图的key才能在APP中正确的显示百度地图。

这里有产生两个用的时候很不方便的问题:

1.每个开发者都有一个debug的签名证书,每个人都需要申请一个百度地图key,每个人都需要配置。2.在编译reasle的时候需要切换把`com.baidu.lbsapi.API_KEY`换成release-key

解决这两个问题可以通过强大的gradle,实现无缝的自动的在项目中配置release-key和debug-key。

使用一个同一个debug-key

把一个已经生成百度地图key的debug签名证书提交到版本库中,指定每个开发者使用这个签名证书debug。

android {    compileSdkVersion 23    buildToolsVersion '23.0.2'      signingConfigs {        release {            storeFile file("${rootDir}/release")            storePassword ""            keyAlias ""            keyPassword ""        }        debug {            storeFile file("${rootDir}/debug.keystore")        }    }    sourceSets {        main {            jni.srcDirs = []        }    }    }

androidsigningConfigs中可以配置release的签名证书和debug的签名证书,一般都是指定release的签名证书,这里也指定下debug的签名证书,${rootDir}是当前项目的主目录,这样就指定了所有的开发人员都使用一个debug签名证书。

在配置com.baidu.lbsapi.API_KEY的时候只需要配置一个debug-key就可以了。

自动切换reasle-key和debug-key

虽然设置了com.baidu.lbsapi.API_KEY为debug-key但是在发布项目的时候还需要重新设置为reasle-key,这样的操作不仅麻烦而且还容易出错,经常出现发布之后的版本百度地图无法显示,因为使用了reasle的签名证书,却没有使用reasle-key。

下面使用gradle让项目自动的切换reasle-key和debug-key,在发布版本的时候不需要再重新配置。
AndroidManifast.xml中配置:

这里给com.baidu.lbsapi.API_KEY的value设置了一个变量BAIDU_KEY_VALUE

build.gradle中给BAIDU_KEY_VALUE赋值:

android {    compileSdkVersion 23    buildToolsVersion '23.0.2'         buildTypes {        release {                 manifestPlaceholders = [BAIDU_KEY_VALUE: "release-key"]        }        debug {            manifestPlaceholders = [BAIDU_KEY_VALUE: "debug-key"]        }    }}

manifestPlaceholders是gradle的一个功能,可以在AndroidManifest中定义一个变量,定义的语法是${BAIDU_KEY_VALUE},在build.gradle中可以给这里变量赋值,这个语法使用方便,语法简单。

这样在运行项目的时候在debug中就会使用百度地图的debug-key,在发布的时候就会使用百度地图的realest-key,不再需要手动切换。

转载地址:http://sfgjx.baihongyu.com/

你可能感兴趣的文章
jquery easyui 研究(一)Datagrid初始化设置
查看>>
java static fianl 使用
查看>>
【荐】隐藏在网页左侧的腾讯QQ和阿里旺旺在线客服代码
查看>>
第五篇5.1章
查看>>
homework-01
查看>>
linux在命令执行过程中ctrl +z 后[1]+ Stopped
查看>>
分布式文件系统-HDFS
查看>>
Recsys2018 music recomendation
查看>>
BZOJ 1912 巡逻(算竞进阶习题)
查看>>
谈谈企业的数据工作!——企业的数据分析能力金字塔
查看>>
js 添加事件 attachEvent 和 addEventListener
查看>>
git基础问题
查看>>
修改MFC主窗口界面标题和图标的方法
查看>>
android 系统重启与关机:java 代码实现
查看>>
html-切换360浏览器的极速模式
查看>>
Js点餐加减数量
查看>>
luoguP2664 树上游戏
查看>>
php不使用copy()函数复制文件的方法
查看>>
bat批处理运用
查看>>
使用android x86进行android应用开发.
查看>>