安卓开发百度地图开发版与发布版加载问题

问题描述:由于百度地图使用时需要生成访问应用AK,应用AK放在清单文件

<application
        >
        <meta-data
            android:name="com.baidu.lbsapi.API_KEY"
            android:value="应用AK"/>

而这个AK是要在百度地图网站上用安全码和生成的。
安卓开发百度地图开发版与发布版加载问题_第1张图片
主要问题出现了,就是发布版SHA1和开发版的SHA1是不同的。开始我设置的是相同的结果会导致,只有进行开发调试的手机能加载百度地图,而生成的签名包APK安装在其他手机上不能加载百度地图。
而问题的原因就是发布版SHA1和开发版的SHA1是不同。找到原因所以就需要用不同的方法来生成相应版本的SHA1。下面具体介绍生成SHA1方法:
发布版SHA1
我的开发工具是AS。需要自己已经有签名KEY,这个在你生成APK文件时是必须的,我已经生成过了直接用,没有生成的需要自己生成,很简单。我的签名KEY文件在 E:\android_studio_key.jks
步骤:
在Android Studio中的Terminal中输入:
keytool -exportcert -list -v -keystore E:\android_studio_key.jks
然后输入密钥口令。
生成结果:

密钥库类型: JKS                                                             
密钥库提供方: SUN                                                           

您的密钥库包含 1 个条目                                                     

别名: android_key                                                           
创建日期: 2016-6-30                                                         
条目类型: PrivateKeyEntry                                                   
证书链长度: 1                                                               
证书[1]:                                                                    

序列号: 10b3201e                                                            
有效期开始日期: Thu Jun 30 09:34:26 CST 2016, 截止日期: Mon Jun 24 09:34:26 
CST 2041
证书指纹:                                                                   
         MD5: 7A:27:B5:55:03:~~~
         SHA1: 65:CF:47:83:A6:4D:93~~~
         SHA256: AE:17:14:44:30:0B:~~~
         签名算法名称: SHA256withRSA                                        
         版本: 3   

这个SHA1就是发布版的SHA1。
开发版SHA1
这个网上方法就非常多了,但是我发现很多方法介绍的不对,因为他们用的默认的一些路和一些默认变量。默认路径的那都是不通用的。因为默认这个东西不是人人都用的,毕竟有点强迫症总是会修改默认路径,比如我们安装应用时候都不会把应用安装到默认的C盘中。嘿嘿。
开发版的需要使用命令行。因为我的AS安卓在E盘中,所以我们直接win +R启用命令行来进行生成。
步骤:
1)找到你的debug.keystore文件,我的是在C:\Users\Administrator.android路径下,这个如果自己没修改过一般都是这个路径下。
2)利用命令行进入到以下路径

  1. C:\Users\Administrator>cd .android

  2. C:\Users\Administrator.android>keytool -list -v -keystore
    debug.keystore
    输入密钥库口令:android

密钥库类型: JKS
密钥库提供方: SUN

您的密钥库包含 1 个条目

别名: androiddebugkey
创建日期: 2016-4-28
条目类型: PrivateKeyEntry
证书链长度: 1
证书[1]:
所有者: C=US, O=Android, CN=Android Debug
发布者: C=US, O=Android, CN=Android Debug
序列号: 1
有效期开始日期: Thu Apr 28 15:11:04 CST 2016, 截止日期: Sat Apr
2046
证书指纹:
         MD5: 25:D4:32:FF:D5:69:17:~~~~
         SHA1: 22:8B:48:F6:72:DB:52~~~
         SHA256: A8:23:F2:6D:EA:4D~~~~

         签名算法名称: SHA1withRSA
         版本: 1

这个生成的就是开发版的SHA1.

最后将开发版和发布版的SHA1分别添加到第一个图中,然后提交就会生成应用AK。这次生成的APK 就都可以加载出百度地图了。

你可能感兴趣的:(Android)