在公司做了一个关于寻找停车场的app,需要借助高德地图。项目未完成,老板让打个包,看看效果, 一打包瞬间蛋疼了 。报错如下:

[2015-03-02 10:46:25 - MapDemo] Proguard returned with error code 1. See console
[2015-03-02 10:46:25 - MapDemo] Note: there were 172 duplicate class definitions.
[2015-03-02 10:46:25 - MapDemo] Warning: com.amap.api.navi.j: can't find referenced class com.amap.api.navi.model.AMapNaviCamera
[2015-03-02 10:46:25 - MapDemo]       You should check if you need to specify additional program jars.
[2015-03-02 10:46:25 - MapDemo] Warning: there were 1 unresolved references to classes or interfaces.
[2015-03-02 10:46:25 - MapDemo]          You may need to specify additional library jars (using '-libraryjars').
[2015-03-02 10:46:25 - MapDemo] java.io.IOException: Please correct the above warnings first.
[2015-03-02 10:46:25 - MapDemo]     at proguard.Initializer.execute(Initializer.java:321)
[2015-03-02 10:46:25 - MapDemo]     at proguard.ProGuard.initialize(ProGuard.java:211)
[2015-03-02 10:46:25 - MapDemo]     at proguard.ProGuard.execute(ProGuard.java:86)
[2015-03-02 10:46:25 - MapDemo]     at proguard.ProGuard.main(ProGuard.java:492)

原因分析:

为了代码的安全 , 我们都会做代码混淆处理 ,而高德自己本身已经做了代码混淆 ,所以高德提供的类会找不到引用,既然高德已经做了代码混淆,我们就不需要再次混淆。

解决方案:

在progurd-protected.txt文件中添加以下代码:


-libraryjars libs/AMap_3DMap_V2.3.1.jar
-libraryjars libs/Android_Navi_V1.1.0.jar
-libraryjars libs/Android_Location_V1.3.0.jar
-libraryjars libs/AMap_Services_v2.3.1.jar-dontwarn com.amap.api.**
-dontwarn com.a.a.**
-dontwarn com.autonavi.** -keep class com.amap.api.** {*;}
-keep class com.autonavi.** {*;}
-keep class com.a.a.** {*;}

再次打包,,,,瞬间解决。

总结:在引入第三方jar包的时候要注意,该包是否已混淆过代码。再比如:百度地图的sdk,支付宝的sdk等,他们都自己已经混淆过代码,不需要我们在此处理了,同样需要在produrd-protected.txt文件中添加不再次混淆的声明。

希望对有同样问题兄弟们能够获得帮助。

基于高德地图的app开发打包报错相关推荐

  1. 基于高德地图的APP路径规划开发

    一.初始化一个APP项目 参见我的上一篇文章:https://blog.csdn.net/QiwzDeBLOG/article/details/84701746 前期准备: 我的项目名称:AmapTe ...

  2. 高德地图根据经纬度调用api报错Uncaught Error: USERKEY_PLAT_NOMATCH(10009)

    一.翻车现场: 根据经纬度调用高德地图api获取相应信息的时候,报错 Uncaught Error: USERKEY_PLAT_NOMATCH(10009) 二.解决方案: 经过排查发现,是高德中的k ...

  3. 高德地图使用AMap.DrivingPolicy.LEAST_DISTANCE报错

    报错: Cannot read properties of undefined (reading 'LEAST_DISTANCE') 原因:在引入js的时候加上&plugin=AMap.Dri ...

  4. 基于高德地图开发 Web 应用

    文章目录 写在前面 为什么选择高德地图?对比腾讯.百度.OpenLayers OpenLayers 腾讯地图 百度地图 高德地图 基本的开发步骤,开始实现自己的地图应用 快速掌握 API 模块.架构. ...

  5. 只用一个marker 替换 高德_Android基于高德地图完全自定义Marker的实现方法

    前言 相信做地图社交类APP开发的大家都知道,一般情况下,为了整体的美观和用户体验度,我们需要定制化Marker的样式.本文中实现的方式都是基于高德地图的,百度地图也类似,大家可以照葫芦画瓢,废话不多 ...

  6. python交通调查数据处理_GitHub - unlimitbladeworks/traffic-monitor: 基于高德地图的交通数据分析...

    traffic-monitor(基于高德地图的交通数据分析) 设计需求在于每天上班早高峰期,每次都提前出门,虽然有地图可以实时查看路况,但是再过一阵时间 就会异常的堵车如果通过数据监控分析每天指定路段 ...

  7. 基于高德地图JsAPI进行浏览器精确定位,实现手机端考勤打卡功能

    前言: 由于项目需求需要在项目中实现手机端(基于网页)考勤打卡功能,最初考虑使用H5自身定位功能,但尝试过后,效果很不稳定.然后尝试使用百度地图JsAPI,百度家的稳定倒是很稳定,没想到的是定位位置和 ...

  8. 南邮Android实验报告三:基于高德地图的综合应用

    实验三 基于高德地图的综合应用 一.目的要求 1.学会安卓应用中涉及位置服务时的解决方案. 2.练习在使用第三方插件时,遇到版本不兼容时的处理步骤和方法. 二.实验环境 1.硬件配置:Intel Co ...

  9. 基于高德地图SDK实现跑步路线踩点

    前言   现在市面上有很多跑步的app,主要的功能大致是记录你的跑步路线以及你的跑步状况,速度距离等,大多是使用了高德地图,百度地图之类的SDK.   之前学校里有一款课外体育考勤的跑步APP,叫运动 ...

最新文章

  1. 关于SSL配置的报告
  2. linux基础—课堂随笔010_系统启动和内核管理
  3. 量子力学与机器学习相结合,预测高温下的化学反应
  4. 无法打开源文件 “iostream.h“
  5. Python Flask框架常用组件介绍
  6. stm32 ucosii消息队列 串口_正点原子STM32F407探索者开发板资料连载第六十三章 UCOSII 实验...
  7. js aes加密_nodejs中使用Crypto-JS对图片进行加解密
  8. xcode 自动化出包
  9. vue登录如何存储cookie_vue项目实现表单登录页保存账号和密码到cookie功能
  10. Net设计模式实例系列文章总结[转]
  11. mysql 主从同步,双主同步,如果服务器意外挂机,不同步怎么办
  12. Auto.js 支付宝 跳转意图
  13. Hbase命令设置TTL/编码设置TTL
  14. Nginx的重启命令(nginx -s reopen)
  15. 基于OpenCV的摄像头人脸检测
  16. vw 前端_css3的vw单位,vh单位的讲解,以及vw vh的兼容性
  17. springBoot(6)---文件上传
  18. RK3288 USB触摸屏与USB摄像头同时使用时触摸卡顿
  19. 【IOT专栏】当图像碰上区块链
  20. oracle的安装liunx,linux上oracle简单安装

热门文章

  1. 微服务应用的多机房部署
  2. 微信小程序码:不要方,就爱圆
  3. 华为机试真题 C++ 实现【免单统计】
  4. 使用UAA引导OAuth2授权服务器
  5. solr6使用solrJ做XML数据导入
  6. ESP8266 修复刷完nodemcu固件后无法连接wifi网络的故障
  7. ESP32连接DS3231实时时钟(RTC)的方法
  8. android q启动前台服务,Android 启动前台服务,适配 vivo 与 OPPO 手机,第一期
  9. OPPO、vivo依靠线下渠道稳居前二,小米赶超难度加大
  10. 文案微信小程序源码独立版 前后端代码有齐全