首页 > 建站教程 > APP开发,混合APP >  uni-app离线打包,提示打包时未添加maps模块正文

uni-app离线打包,提示打包时未添加maps模块

uni-app离线打包,配置了高德,参考uni-app离线打包之Geolocation解决方案,可以通过Geolocation获取经纬度等,但是在使用了map组件后,还是提示:

打包时未添加maps模块,请参考http://ask.dcloud.net.cn/article/283

如下图:

未添加maps模块


解决方法如下:


一、百度地图

将在uniapp 3.6.3安卓离线打包教程提到的下载的SDK\libs目录下的jar/aar文件:

baidu-libs-release.aar、map-baidu-release.aar

拷贝到 工程/simpleDemo/libs 目录下(百度地图暂时不支持 nvue map 标签)。


Androidmainfest.xml文件需要修改的项

需要在application节点前添加权限

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.READ_LOGS"/>
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>


application节点下配置如下代码

<meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="%appkey_android%"></meta-data>
<service android:name="com.baidu.location.f" android:enabled="true" android:process=":remote"></service>


dcloud_properties.xml文件(文件在 工程/simpleDemo/src/main/assets/data 目录下)需要修改的项:

features节点下添加:

<feature name="Maps" value="io.dcloud.js.map.JsMapPluginImpl"></feature>


services节点下添加:

<service name="Maps"   value="io.dcloud.js.map.MapInitImpl" />


二、高德地图

将在uniapp 3.6.3安卓离线打包教程提到的下载的SDK\libs目录下的jar/aar文件:

AMap3DMap_XXX_AMapSearch_XXX.jar(XXX为版本号)、AMap_Location_XXX.jar、weex_amap-release.aar
AMap3DMap_XXX_AMapSearch_XXX.jar(XXX为版本号)、AMap_Location_XXX.jar、map-amap-release.aar

拷贝到 工程/simpleDemo/libs 目录下。

注意:3.3.6及以下版本需要使用amap-libs-release.aar代替AMap3DMap_XXX_AMapSearch_XXX.jar(XXX为版本号)、AMap_Location_XXX.jar


Androidmainfest.xml文件需要修改的项

需要在application节点前添加权限

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<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"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>
<uses-permission android:name="android.permission.READ_LOGS"></uses-permission>
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>


application节点下配置如下代码:

<meta-data android:name="com.amap.api.v2.apikey\" android:value="%appkey_android%\"/>
<service android:name="com.amap.api.location.APSService"></service>


注意事项

高德地图使用的appkey和打包使用的包名及签名文件存在对应关系,填写时请注意。填写错误会导致地图无法正常使用。


dcloud_properties.xml文件(文件在 工程/simpleDemo/src/main/assets/data 目录下)需要修改的项

features节点下添加

<feature name="Maps" value="io.dcloud.js.map.amap.JsMapPluginImpl"></feature>


三、谷歌地图

将在uniapp 3.6.3安卓离线打包教程提到的下载的SDK\libs目录下的jar/aar文件:

weex_google-map-release.aar

拷贝到 工程/simpleDemo/libs 目录下。


app目录的build.gradle添加依赖

implementation 'com.google.android.gms:play-services-maps:18.0.1'


Androidmainfest.xml文件需要修改的项

需要在application节点前添加权限

<uses-permission android:name=android.permission.ACCESS_COARSE_LOCATION />
<uses-permission android:name=android.permission.ACCESS_FINE_LOCATION />
<uses-permission android:name=android.permission.ACCESS_NETWORK_STATE />
<uses-permission android:name=android.permission.INTERNET />
<uses-permission android:name=android.permission.WRITE_EXTERNAL_STORAGE />
<uses-permission android:name=android.permission.ACCESS_LOCATION_EXTRA_COMMANDS />


application节点下配置如下代码:

<meta-data android:name="com.google.android.geo.API_KEY" android:value="%api_key%" />