社区里找不到任何uniapp 离线打包官方集成的模块插件如何配置。
在外部网站搜到这个方法:
http://www.luyixian.cn/news_show_248504.aspx
才发现可以借鉴5+插件的配置方法(https://ask.dcloud.net.cn/article/212),看了sdk uniapp的默认插件配置,基本上好像大部分都已经配置进去了。但是jar,arr包不知道有没有集成到uniapp-release.aar里面。
在properties里 map模块以下两句一样的代码,一句屏蔽了
<feature name="Maps" value="io.dcloud.js.map.amap.JsMapPluginImpl"/>
<!--<feature name="Maps" value="io.dcloud.js.map.JsMapPluginImpl"/>-->
service 是屏蔽的
<!--<service name="Maps" value="io.dcloud.js.map.MapInitImpl"/>-->
都开起来,然后根据feature-android.xls 配置好
<meta-data android:name="com.amap.api.v2.apikey" android:value="%appkey_android%"/>
<service android:name="com.amap.api.location.APSService"></service> 这句的包名报红了
把高德的两个aar 放入lib
amap-libs-release.aar
map-amap-release.aar
报会报错Program type already present: com.amap.api.fence.GeoFenceClient,
移除只添加amap-libs-release.aar 可以编译通过,但是打包运行后进入map页面报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]]
这个问题该怎么解决,另外uniapp-release.aar是不是已经集成了高德地图的sdk
问题已解决:
原来sdk里有很多amap 的包 下面这两个包才是正确的,
amap-libs-release.aar
map-amap-release.aar
我一开始没注意就选了两个amap开头的包
amap-libs-release.aar
amap-gp-libs-release.aar
仔细对比才发现有好几个带有amap的包 根据feature-android.xls 选择了正确的包就可以打包map模块了
1 个回复
3***@qq.com (作者)
问题已解决: 原来sdk里有很多amap 的包 下面这两个包才是正确的, amap-libs-release.aar map-amap-release.aar 我一开始没注意就选了两个amap开头的包 amap-libs-release.aar amap-gp-libs-release.aar 仔细对比才发现有好几个带有amap的包 根据feature-android.xls 选择了正确的包就可以打包map模块了