DCloud_App_Array
DCloud_App_Array
  • 发布:2015-05-07 12:37
  • 更新:2022-08-30 18:25
  • 阅读:44836

Android平台离线打包地图插件配置

分类:5+ SDK

此文档已不再维护,请移步:https://nativesupport.dcloud.net.cn

开发者需要修改使用的地图插件时,需要修改properties.xml文件的features节点下Maps节点value属性的配置,高德地图和百度地图的配置只能保留一个

百度地图

需要拷贝的文件

需要引入工程的jar文件
需要将以下jar文件放到工程的libs目录下

路径 文件
SDK\libs(1.9.9.52372之前) BaiduLBS_Android_base.jar,BaiduLBS_Android_geolocation_v7.1.jar, BaiduLBS_Android_v4.3.1.jar,map-baidu.jar
SDK\libs(1.9.9.52372之后) baidu-libs-release.aar,map-baidu-release.aar

需要将以下so文件放到工程的libs\armeabi目录下
(1.9.9.52372之后不需要配置此项)

路径 文件名
SDK\libs \armeabi libBaiduMapSDK_base_v4_3_1.so,libBaiduMapSDK_map_v4_3_1.so, liblocSDK7a.so
SDK\libs \armeabi-v7a libBaiduMapSDK_base_v4_3_1.so,libBaiduMapSDK_map_v4_3_1.so, liblocSDK7a.so
SDK\libs \x86 libBaiduMapSDK_base_v4_3_1.so,libBaiduMapSDK_map_v4_3_1.so, liblocSDK7a.so

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>

properties.xml文件需要修改的项

properties.xml文件在assets/data目录下
features节点下添加:

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

services节点下添加:

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

高德地图

需要拷贝的文件

需要引入工程的jar文件
需要将以下jar文件放到工程的libs目录下

路径 文件
SDK\libs(1.9.9.52372之前) map-amap.jar, AMap_3DMap_V2.4.1.jar, AMap_Services_V2.4.0.jar,AMap_Location_V3.3.0_20170118.jar
SDK\libs(1.9.9.52372之后) amap-libs-release.aar,map-amap-release.aar

需要将以下so文件放到工程的libs\armeabi目录下
(1.9.9.52372之后不需要配置此项)

路径 文件名
SDK\libs \armeabi libamapv304.so, libamapv304ex.so

需要将以下so文件放到工程的libs\armeabi-v7a目录下
(1.9.9.52372之后不需要配置此项)

路径 文件名
SDK\libs \armeabi-v7a libamapv304.so, libamapv304ex.so

需要将以下so文件放到工程的libs\x86目录下
(1.9.9.52372之后不需要配置此项)

路径 文件名
SDK\libs \x86 libamapv304.so, libamapv304ex.so

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和打包使用的包名及签名文件存在对应关系,填写时请注意。填写错误会导致地图无法正常使用。

properties.xml文件需要修改的项

features节点下添加
properties.xml文件在assets/data目录下

<feature name="Maps" value="io.dcloud.js.map.amap.JsMapPluginImpl"></feature>
3 关注 分享
tosmaller b***@163.com d***@hisen.com

要回复文章请先登录注册

3***@qq.com

3***@qq.com

回复 触达 :
救星,大佬。我也是白屏用大佬的方法解决了,谢谢
2022-08-30 18:25
2***@qq.com

2***@qq.com

map-amap-release.aar 请问 这个文件在哪里拷贝 。。。。
2021-04-28 16:25
道道123

道道123

回复 触达 :
加了也不显示
2020-09-10 15:37
1***@163.com

1***@163.com

问一下,按照文档配置有人成功过吗,高德地图正常使用,用SDK离线打包
2020-07-15 12:49
1***@qq.com

1***@qq.com

回复 触达 :
我是在APP上使用uni.chooseLocation,我加入了weex_amap-release.aar包,能显示上面的地图,但是不会显示下面的地点列表
2020-07-08 11:44
菜鸟一枚2号

菜鸟一枚2号

回复 触达 :
我加了weex_amap-release.aar包,也没有显示。请问能给个demo吗?或者<service android:name="com.amap.api.location.APSService"></service>这个类我是继承了WXSDKEngine.DestroyableModule,实现了里面的destroy方法,请问我是不是哪里没有写啊
2020-03-27 18:09
触达

触达

我使用的是高德地图,不管是nvue还是vue都必须加入weex_amap-release.aar包,否则离线打包地图根本显示不出来。HX版本是2.6.5.20200314,Android studio版本3.5.1,Gradle版本5.4.1。官方文档上并没有说明需要添加weex_amap-release.aar,导致我花了1天时间来排查此问题,在DC上提问题也没人受理!uni用户量还是挺大的,建议写官方文档还是严谨一些,别人众开发者浪费太多时间。
2020-03-24 14:25
菜鸟一枚2号

菜鸟一枚2号

说实话没看懂啊,这些配置文件在我的uniapp项目里面哪有啊
2020-03-23 11:35
伍陆肆

伍陆肆

nave 页面加载地图,需要添加weex_amap-release.aar包,否则不显示。
2020-02-19 15:49
3***@qq.com

3***@qq.com

离线打包,添加amap-gp-libs-release.aar 会报错Program type already present: com.amap.api.fence.GeoFenceClient,只能添加amap-libs-release.aar,但是打包运行包map模块未添加提醒,log打印未找到class 类ava.lang.ClassNotFoundException: io.dcloud.js.map.amap.JsMapPluginImpl Caused by: java.lang.ClassNotFoundException: Didn't find class "io.dcloud.js.map.amap.JsMapPluginImpl" on path: DexPathList[[zip file "/data/app/com.anyidc.cloudpark-4QQ56gPcBnTf_i7nLmWkPA==/base.apk"],nativeLibraryDirectories=[/data/app/com.anyidc.cloudpark-4QQ56gPcBnTf_i7nLmWkPA==/lib/arm, /data/app/com.anyidc.cloudpark-4QQ56gPcBnTf_i7nLmWkPA==/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib, /product/lib]]
2020-01-16 20:32