問題
uniapp中如果含有map地圖模塊,打包時需要勾選該模塊,並選擇高德/百度地圖、填寫他們的appkey,不然打包后會提示找不到maps模塊。

高德地圖的Android端appkey申請流程文檔:https://lbs.amap.com/api/android-sdk/guide/create-project/get-key
上面這是高德地圖的官方說明文檔,但是其中涉及到的安卓開發軟件,如:
1、
2、
3、
這些是我沒見過的,所以記錄一下獲取SHA1的過程。
一開始我也想用eclipse來獲取SHA1,先下載安裝了JDK,再安裝eclipse,但是eclipse一直報錯(報錯如下),上網查了方法也沒有解決。

后來問了同學之后,還是決定直接用JDK自帶的keytool工具,獲取SHA1
這里順便貼一下:
eclipse官網下載頁:http://wiki.eclipse.org/Eclipse_Installer
用JDK自帶的keytool工具獲取SHA1
安裝JDK:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
我是win7,64位:

下載后雙擊開始安裝即可。
PS:如果改了安裝目錄,要記得安裝目錄的位置,后面要用到的。
生成keystore:文檔:https://ask.dcloud.net.cn/article/35777
參照以上文檔,按順序輸入:
1、切換工作目錄到D:路徑:
d:
2、將jre命令添加到臨時環境變量中
set PATH=%PATH%;"C:\Program Files\Java\jre1.8.0_201\bin"
3、使用keytool生成證書
keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore
- testalias是證書別名,可修改為自己想設置的字符,建議使用英文字母和數字
- test.keystore是證書文件名稱,可修改為自己想設置的文件名稱

(我JDK的安裝目錄在D盤)
在 [否] 后面直接回車,可以重新輸入信息, 輸入 y 再回車即確認。
查看keystore內容:
keytool -list -v -keystore test.keystore
Enter keystore password: //輸入密碼,回車

在這個文件夾里面就可以看到這個keystore文件了

至此,你就已經得到了SHA1安全碼了。
添加高德地圖appkey
進入高德地圖控制台》我的應用》(如果沒有創建應用,就需要創建一個)》右上角“添加Key”》把SHA1碼填進去。

至於PackageName我直接寫了uniapp的mainfest.js源碼中的name的值:

key名稱好像是幫助你自己記憶和檢索的,應用名稱+用途就可以了。
提交后就可以看到申請成功了。
IOS的高德appkey申請
這個就比較麻煩了,主要麻煩在申請apple的開發者賬號,我們公司搞了很久才買好了apple的開發者賬號。
我直接登錄apple的開發者后台,獲取appid(Bundle ID),然后填入高德地圖的提交表單,就申請好了。

把這個Bundle ID填進入即可申請:

至此,安卓和蘋果的appkey都好了。

以后其他app需要appkey的話,也是在高德地圖的控制台添加key就可以。
填入uniapp項目中
打包前要勾選maps模塊,

再配置SDK(把高德地圖的appkey填進來):

