RT、
打包签名,一般开发会有2个签名的文件,一个用于平时测试(debug.keystore),一个用于上线打包(release.keystore),当然文件名字可以自定义,那本着方便他人的想法我就顺便截了个图,用金山词霸翻译的,囧~~
截图如下:
唉~本来想直接放这张图就好了,想想还是把打包签名的步骤全部放上来吧。
1、Build-->Generate Signed APK...
2、如果已经有签名的文件,直接选择Choose existing..然后输入密钥库密码,密钥密码然后就可以Next了,如果没有的那就Create new...咯,然后就到了上面那张New Key Store的截图页面,填写完点击OK一样到下面的页面
3、直接Next,将会来到这个页面,选择Build Type之后选择Finish等待就好
4、打包签名成功,到APK保存文件夹下就可以找到了
OK,这里可能就有人问了,上面的Build Type是什么鬼?Flavors又是啥?
别急,接下来就是本文的重点了!
那么这就要说到之前用百度地图API遇到的问题了,因为项目是以前的项目,之前已经申请过一次ak了,也是这台电脑,我以为可以直接用(忘记了重装过系统和AS),于是直接继续开发,最后装到手机上之后发现一直用不上百度地图的服务,这是怎么回事呢?
在log里面一直提示ak不对,心想不可能啊,到官网配置ak的地方看包名是否错了,还是SHA1错了(之前把SHA1值记录在桌面的一个txt文档里面),发现都没错啊!怎么可能不行呢?
于是想到通过控制台重新去获取一遍SHA1值,尼玛咯,这时候发现
咦?怎么没有debug.store文件的?卧槽,坑爹啊,这时候才猛然想起重装系统的事情,申请ak填的SHA1值是以前的,泪奔~
于是只好自己new一个了(话说不是会生成一个默认的debug.store文件的吗?怎么没有?),按照上面的步骤配置好之后,通过控制台重新获取SHA1值去百度地图更改得到新的ak
(命令keytool -v -list -keystore 绝对路径)
把ak改了之后重新run,咦?怎么还是说ak不对啊?这是因为还没有配置完成。。。
1、增加签名的配置,按图打开,自定义name,选择密钥库文件,输入前面自己配置的2个密码、别名(一般配置2个,对应2个密钥库文件,这里我只配置了一个作为演示)
2、配置Flavors --> Signing Config改成你前面配置的签名(这里也可以增加,那么在前面打包的时候就可以选择Flavors了,至于配置这个具体有什么用,自行百度吧)
3、配置Build Types,默认会有debug和release,在这里统一把Signing Config设为之前配置的签名
4、以上配置完之后,重新run到手机,发现百度地图可以正常使用了。(因为篇幅好像有点长,就不写了,差点就想把多渠道打包签名还有命名的一起在本文里面写出来了,但是那样篇幅就太长了,那么现在打包签名、还有百度地图无法正常显示的问题,这边算是解决了)