• 百度地图开发(1):申请开发秘钥相关


    百度地图开发指南:http://lbsyun.baidu.com/index.php?title=androidsdk/guide/introduction

    百度地图SDK下载:http://lbsyun.baidu.com/index.php?title=androidsdk/sdkandev-download

    (1)根据开发指南提供的方法申请开发秘钥

    如上,填写应用名称,暂时不知道这里的应用名称有何作用,虽然不会影响apk功能,但可能与apk在百度商店的发布有关,因此此处我还是写上了我将要编译出来的apk的名称。应用类型选择Android SDK。

    接下来就是最为重要的数字签名(SHA1)和包名了,因为开发秘钥是由sha1和包名自动生成的,而apk也需要经过签名,这也是百度SDK能与每一个应用关联起来的原因(如果同一个开发者使用相同的SHA1和包名开发不同的应用,此时使用同一个开发秘钥应该也是可以的),所以这两个值一定要写对,如果没写对,则不会出现地图,而是网格线样式。并且会报如下所示的error:

    baidumapsdk: Authentication Error errorcode: 230 uid: -1 appid -1 msg: APP Scode码校验失败
    

    包名不作赘述,SHA1的生成开发指南上提供了获取SHA1的方法,这里唯一需要说明的是Eclipse和Android studio是使用keystore进行签名的。而使用原始工程mm编译使用的是pk8, x509.pem进行签名的。因此二者生成的SHA1不一样,当我们使用原始工程编译时,需要先把pk8, x509.pem转换成keystore格式,再按照开发指南上的方式生成SHA1。

    《把Android源码中的秘钥对转换为keystore的方法》

    下面将演示如何使用命令行将android源码秘钥转换为keystore:

    android.mk中使用platform签名

    LOCAL_CERTIFICATE := platform

    所以我们使用签名文件:
    platform.pk8和platform.x509.pem

     把这两个文件从security中拷贝出来或者直接将命令行目录转到security目录

    1.

    openssl pkcs8 -inform DER -nocrypt -in platform.pk8 -out platform.pem

    当前目录下生成platform.pem文件。
    2.

    openssl pkcs12 -export -in  platform.x509.pem -out platform.p12 -inkey  platform.pem -password pass:android -name androiddebugkey

    当前目录下生成platform.p12文件。
    3.

    keytool -importkeystore -deststorepass android -destkeystore ./platform.jks -srckeystore ./platform.p12 -srcstoretype PKCS12 -srcstorepass android

    当前目录下生成platform.jks文件,这就是转换后的keystore文件,我们可以直接命名为keystore。
    4. 按照开发指南提供的命令获取SHA1值

    keytool -list -v -keystore platform.jks

    keytool是jdk的工具,如果加入到了环境变量中,则可以直接在当前目录的命令行使用。

    如上,填写SHA1值和包名后点击提交则可生成对应的开发秘钥。

  • 相关阅读:
    Monogb基本概念及基本操作
    高级查询与索引
    查询、索引和聚合
    更新和删除文档
    数据查询
    数据库和集合的基本操作
    dedecms 文章排列方式
    dedecms flag标签属性
    Iis 日志文件默认路径
    php中的require() 语句的使用方法
  • 原文地址:https://www.cnblogs.com/fordreamxin/p/5338137.html
Copyright © 2020-2023  润新知