Android開發之百度地圖--環境搭建

來源:互聯網
上載者:User

標籤:jks   狀態   http   val   ext   為什麼   sdk   唯一性   wifi   

這篇文章總結自極客學院張浩老師的android教學課程,在此對張浩老師和崔爽老師表示非常感謝。

 

(一)基礎知識

在申請百度地圖開發密鑰的時候需要用到數位簽章認證的內容,所以這裡先對此做一下介紹。

 

(1)什麼是數位簽章認證(keystore)

數位簽章是用來確立軟體與軟體作者之間的關係,Android系統要求所有的應用必須被認證進行簽名之後才能進行安裝。

 

(2)為什麼要對android應用進行數位簽章

  • android安全機制限定
  • 保證應用唯一性
  • 利用基於簽名的許可權檢查,你就可以在應用程式間以安全的方式共用代碼和資料

 

(3)什麼時候android應用需要使用數位簽章

  • 所有的android應用都需要進行簽名,否則無法安裝到手機
  • 在開發調試階段,我們不需要進行簽名就可以將應用安裝到手機上。其原因是IDE預設給我產生了一個debug簽名

 

(4)如何查看數位簽章認證

查看keystore的命令:keytool -list -v -keystore ***.jks 

注意:

  • ***.jks為認證檔案
  • 為認證檔案內容,紅框內為重要內容

 

(5)如何產生數位簽章認證

  • 產生簽署憑證有兩種方式,分別是命令列和IDE。這裡以IDE中的Android Studio為例介紹如何產生數位簽章認證:

      1. Build菜單->Generate Signed APK

     

      2. 點擊Create new

     

     3. 填寫相關資訊

    

     4.點擊OK後到對應路徑下即可看到新產生的數位簽章認證

    

(6)如何對android應用進行簽名

     1. 接上面步驟,點擊next

     

     2.選擇build type,這裡release代表正式發布版本。之後點擊Finish,android應用便會被該認證簽名,產生正式版的apk。

    

    

(二)百度地圖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="AK" />       //key:開發人員申請的Key

    

     完成後大概如下所示:

    

     4. 最後需要強調一點,在調試百度地圖應用時,必須要配置gradule的簽名檔案,否則會採用預設的debug簽名檔案,這樣百度地圖api就無法使用了,因為我們申請密鑰的時候用的是我們自己的簽名檔案。配置過程如下:

     首先在project structure對話方塊中配置signing:

    

     其次配置Build Types:

    

     最終的gradule大概如下所示:

    

     到此,用於百度地圖開發的Android開發環境就算搭建完成了。

 

Android開發之百度地圖--環境搭建

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.