uniapp安卓app打包後獲取位置信息失敗解決方法(含高德地圖key詳細申請流程)

這個也是我在做uniapp混合app時遇到的問題,也是困惑了幾天,網上也有很大相關文章,但是有些地方有些不清晰,讓新手很困惑。

問題原因

我在項目中碰到兩個問題

  1. 如果只需要用定位功能獲取到經緯度座標的,可以不用在manifest.json --> App SDK配置中勾選定位和地圖服務(注意:部分國產Android手機可能必須勾選才能獲取位置,看下圖),但是項目中的地圖功能卻沒法用
  2. 我在高德地圖申請了key,也在manifest.json --> App SDK中填寫了,但是卻並沒有生效,打包完連基本的經緯度都獲取不到了,但是地圖貌似能用,哈,這應該是大多數人遇到的問題

 

解決方法

解決方法就是,申請高德或者百度的key,在manifest.json --> App SDK中勾選地圖和定位服務,在App模塊權限配置中勾選Maps,這樣我們可以獲取更多的位置服務權限。

 

 

 

 

 

怎麼在高德地圖申請key

其實主要的問題是出在這裏,大多數人配置完這個在app上還不生效,就是因爲申請key時填的包名和雲打包時填寫的不一致造成的

下面寫一下申請流程

  • 註冊高德開放平臺會員
  • 創建新應用

 

 

  • 在應用下創建key

 

這裏安全碼SHA1,我們可以用官方給的  BA:AD:09:3A:82:82:9F:B4:32:A7:B2:8C:B4:CC:F0:E9:F3:7D:AE:58

在DCloud公用證書主要信息中有,如下

複製代碼

Alias name: hbuilder  
Creation date: 2014-9-29  
Entry type: PrivateKeyEntry  
Certificate chain length: 1  
Certificate[1]:  
Owner: CN=DH, OU=數字天堂(北京)網絡技術有限公司, O=數字天堂(北京)網絡技術有限公司, L=海淀, ST=北京, C=86  
Issuer: CN=DH, OU=數字天堂(北京)網絡技術有限公司, O=數字天堂(北京)網絡技術有限公司, L=海淀, ST=北京, C=86  
Serial number: 5174dc8b  
Valid from: Mon Apr 22 14:45:31 CST 2013 until: Sun Aug 23 14:45:31 CST 3012  
Certificate fingerprints:  
         MD5:  59:20:1C:F6:58:92:02:CB:2C:DA:B2:67:52:47:21:12  
         SHA1: BA:AD:09:3A:82:82:9F:B4:32:A7:B2:8C:B4:CC:F0:E9:F3:7D:AE:58  
         SHA256: D7:5C:1F:A2:B9:AE:86:7C:E6:88:A8:AD:C6:DE:AC:7C:D6:BA:96:F4:3A:75:1F:D1:0A:20:0F:A5:97:4A:C6:36  
Signature algorithm name: SHA1withRSA  
Subject Public Key Algorithm: 1024-bit RSA key

複製代碼

詳細請看 Android平臺雲端打包證書使用說明

 

說一下包名PackageName,大部分人會在這裏出錯,因爲有格式限制,我們一般寫這種格式io.dcloud.hbuilder這種格式,但是不管寫成什麼,一定要和App雲端打包時的安卓包名一致,注意,一定不要寫成uniapp的appID(__UNI_FDXXXXX)

 

 

 

 

  •  將生成的key填寫到manifest.json --> App SDK配置中
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章