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

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

要回复文章请先登录注册

6***@qq.com

6***@qq.com

写个文档都要偷懒乱写。。。哎,故意的吧
2019-04-18 21:47
d***@hisen.com

d***@hisen.com

官方文档真是太坑了,完全没有提到<application>节点配置,浪费我一天时间。。。
2019-03-29 11:33
typer

typer

我下离线打包android-sdk中的Feature-Android.xls写要把下面这两个arr放到app/libs下
百度地图
baidu-libs-release.aar
map-baidu-release.aar。
放进去后直接运行会提示打包时没有加入map模块。原来还需要再app/build.gradle中的dependencies里添加
implementation files('libs/baidu-libs-release.aar')
implementation files('libs/map-baidu-release.aar')。
文档对android小白不够友好哦
2019-01-11 15:29
badfl

badfl

<application>节点下配置如下代码,这部分缺少结束标签,需要加一下
<meta-data android:name="com.amap.api.v2.apikey\" android:value="%appkey_android%\"/>
2018-12-26 16:35
1***@163.com

1***@163.com

为什么我一导入高德包体就报错: Error: Program type already present: com.dcloud.android.annotation.ColorInt
2018-11-15 15:08
xtn

xtn

不适用于aar模式
2018-09-30 13:59
Lspring

Lspring

您好,最新整合进来的so文件,运行的时候报libBaiduMapSDK_base_v4_3_1.so" is 32-bit instead of 64-bit 错误 ,请问是版本的问题吗
2018-06-27 02:16
程序亦非猿

程序亦非猿

回复 4***@qq.com :
我也碰到这个问题了 您怎么解决的
2018-03-30 09:30
storms

storms

高德地图离线打包后总是报如下错误,有高手能帮我解决一吗?
07-09 15:21:26.300: E/DCloud_LOG(6163): fmgr no dp
07-09 15:21:26.649: E/NativeCrypto(6163): ssl=0xeda723c0 cert_verify_callback x509_store_ctx=0xede90edc arg=0x0
07-09 15:21:26.649: E/NativeCrypto(6163): ssl=0xeda723c0 cert_verify_callback calling verifyCertificateChain authMethod=ECDHE_RSA
07-09 15:21:27.030: E/wqqgt1(6163): local change g_locale=, new_locale=zh-CN, local=zh-CN
07-09 15:21:27.035: E/MPlugin(6163): Unsupported class: com.mediatek.common.telephony.IOnlyOwnerSimSupport
07-09 15:21:27.100: E/wqqgt(6163): loadUrl() isDestroyed=false mNativeAwContents=-667350016
07-09 15:21:27.170: E/libEGL(6163): validate_display:255 error 3008 (EGL_BAD_DISPLAY)
07-09 15:21:28.001: E/AndroidRuntime(6163): FATAL EXCEPTION: main
07-09 15:21:28.001: E/AndroidRuntime(6163): Process: com.czesou.app, PID: 6163
07-09 15:21:28.001: E/AndroidRuntime(6163): java.lang.NullPointerException: Attempt to invoke virtual method 'int android.graphics.Bitmap.getWidth()' on a null object reference
07-09 15:21:28.001: E/AndroidRuntime(6163): at io.dcloud.js.map.amap.a.d.b(DHMapView.java:136)
07-09 15:21:28.001: E/AndroidRuntime(6163): at io.dcloud.js.map.amap.a.d.a(DHMapView.java:121)
07-09 15:21:28.001: E/AndroidRuntime(6163): at io.dcloud.js.map.amap.a.d.<init>(DHMapView.java:82)
07-09 15:21:28.001: E/AndroidRuntime(6163): at io.dcloud.js.map.amap.a.b$a.handleMessage(DHMapFrameItem.java:468)
07-09 15:21:28.001: E/AndroidRuntime(6163): at android.os.Handler.dispatchMessage(Handler.java:111)
07-09 15:21:28.001: E/AndroidRuntime(6163): at android.os.Looper.loop(Looper.java:207)
07-09 15:21:28.001: E/AndroidRuntime(6163): at android.app.ActivityThread.main(ActivityThread.java:5966)
07-09 15:21:28.001: E/AndroidRuntime(6163): at java.lang.reflect.Method.invoke(Native Method)
07-09 15:21:28.001: E/AndroidRuntime(6163): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:888)
07-09 15:21:28.001: E/AndroidRuntime(6163): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:749)
2017-07-09 17:20
4***@qq.com

4***@qq.com

百度地图services节点下添加
<service name="Maps" value="io.dcloud.js.map.MapInitImpl" />
启动应用就崩溃了,不加上没有问题,但是百度权限无效,这是错误日志
NullPointerException in getPreferredSmsSubscription()
NullPointerException in getPreferredSmsSubscription()
FATAL EXCEPTION: main
Process: com.aexit.hicar_coach, PID: 12056
java.lang.UnsatisfiedLinkError: Native method not found: com.baidu.platform.comjni.map.commonmemcache.JNICommonMemCache.Create:()J
at com.baidu.platform.comjni.map.commonmemcache.JNICommonMemCache.Create(Native Method)
at com.baidu.platform.comjni.map.commonmemcache.a.a(Unknown Source)
at com.baidu.platform.comapi.d.c.b(Unknown Source)
at com.baidu.mapapi.a.c(Unknown Source)
at com.baidu.mapapi.SDKInitializer.initialize(Unknown Source)
at com.baidu.mapapi.SDKInitializer.initialize(Unknown Source)
at io.dcloud.js.map.MapInitImpl.onStart(MapInitImpl.java:25)
at io.dcloud.common.b.a.a(Core.java:406)
at io.dcloud.common.b.a.a(Core.java:143)
at io.dcloud.common.b.b.a(PandoraEntryProxy.java:51)
at io.dcloud.EntryProxy.onCreate(EntryProxy.java:95)
at com.aexit.hicar_coach.SDK_WebApp.onCreate(SDK_WebApp.java:47)
at com.aexit.hicar_coach.MainActivity.onCreate(MainActivity.java:10)
2017-07-07 17:03