Android开发之百度地图--环境搭建

金鞍玉勒寻芳客,未信我庐别有春。这篇文章主要讲述Android开发之百度地图--环境搭建相关的知识,希望能为你提供帮助。
这篇文章总结自极客学院张浩老师的android教学课程,在此对张浩老师和崔爽老师表示非常感谢。
 
(一)基础知识
在申请百度地图开发密钥的时候需要用到数字签名证书的内容,所以这里先对此做一下介绍。
 
(1)什么是数字签名证书(keystore)
数字签名是用来确立软件与软件作者之间的关系,Android系统要求所有的应用必须被证书进行签名之后才能进行安装。
 
(2)为什么要对android应用进行数字签名

  • android安全机制限定
  • 保证应用唯一性
  • 利用基于签名的权限检查,你就可以在应用程序间以安全的方式共享代码和数据
 
(3)什么时候android应用需要使用数字签名
  • 所有的android应用都需要进行签名,否则无法安装到手机
  • 在开发调试阶段,我们不需要进行签名就可以将应用安装到手机上。其原因是IDE默认给我生成了一个debug签名
 
(4)如何查看数字签名证书
查看keystore的命令:keytool -list -v -keystore ***.jks 
注意:
  • ***.jks为证书文件
  • 下图为证书文件内容,红框内为重要内容
Android开发之百度地图--环境搭建

文章图片

 
(5)如何生成数字签名证书
  • 生成签名证书有两种方式,分别是命令行和IDE。这里以IDE中的Android Studio为例介绍如何生成数字签名证书:
          1. Build菜单-> Generate Signed APK
         
Android开发之百度地图--环境搭建

文章图片

          2. 点击Create new
         
Android开发之百度地图--环境搭建

文章图片

        3. 填写相关信息
【Android开发之百度地图--环境搭建】       
Android开发之百度地图--环境搭建

文章图片

        4.点击OK后到对应路径下即可看到新生成的数字签名证书
       
Android开发之百度地图--环境搭建

文章图片

(6)如何对android应用进行签名
        1. 接上面步骤,点击next
         
Android开发之百度地图--环境搭建

文章图片

        2.选择build type,这里release代表正式发布版本。之后点击Finish,android应用便会被该证书签名,生成正式版的apk。
       
Android开发之百度地图--环境搭建

文章图片

       
(二)百度地图API引入
        1. 到百度地图开发者中心申请密钥,这里不详细描述,百度地图开发者中心有详细的说明。需要注意一点,在申请密钥的时候,需要填写数字证书的SHA1值。关于如何查看数字签名证书内容,请查看上面的内容。
        2. 下载百度地图SDK的jar包,引入百度地图SDK,请参考android如何引入jar包的相关知识。
        3. 配置Mainfest.xml,添加如下内容:
        权限:
< !-- 这个权限用于进行网络定位-->
        < uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"> < /uses-permission>
        < !-- 这个权限用于访问GPS定位-->
        < uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"> < /uses-permission>
        < !-- 用于访问wifi网络信息,wifi信息会用于进行网络定位-->
        < uses-permission android:name="android.permission.ACCESS_WIFI_STATE"> < /uses-permission>
        < !-- 获取运营商信息,用于支持提供运营商信息相关的接口-->
        < uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"> < /uses-permission>
        < !-- 这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位-->
        < uses-permission android:name="android.permission.CHANGE_WIFI_STATE"> < /uses-permission>
        < !-- 用于读取手机当前的状态-->
        < uses-permission android:name="android.permission.READ_PHONE_STATE"> < /uses-permission>
        < !-- 写入扩展存储,向扩展卡写入数据,用于写入离线定位数据-->
        < uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"> < /uses-permission>
        < !-- 访问网络,网络定位需要上网-->
        < uses-permission android:name="android.permission.INTERNET" />
        < !-- SD卡读取权限,用户写入离线定位数据-->
        < uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"> < /uses-permission
        密钥:
        < meta-data
                      android:name="com.baidu.lbsapi.API_KEY"
                      android:value="https://www.songbingjia.com/android/AK" />             //key:开发者申请的Key
       
        完成后大概如下所示:
       
Android开发之百度地图--环境搭建

文章图片

        4. 最后需要强调一点,在调试百度地图应用时,必须要配置gradule的签名文件,否则会采用默认的debug签名文件,这样百度地图api就无法使用了,因为我们申请密钥的时候用的是我们自己的签名文件。配置过程如下:
        首先在project structure对话框中配置signing:
       
Android开发之百度地图--环境搭建

文章图片

        其次配置Build Types:
       
Android开发之百度地图--环境搭建

文章图片

        最终的gradule大概如下所示:
       
Android开发之百度地图--环境搭建

文章图片

        到此,用于百度地图开发的Android开发环境就算搭建完成了。
 

    推荐阅读