Android - 百度地图打包之后出现的问题
一、关于百度地图开发-调试通过-打包失败(授权Key不正确)
百度地图开发调试的应用程序正常,打包后显示授权key失败
这是由于调试生成的应用程序使用的是eclipse默认的SHA1的值
我们需要使用自己创建的数字签名来解决这一问题。以下是解决方案
设置android 环境变量
如图所示 打开Cmd输入以下指令
1:cd C:\Program Files\Java\jdk1.7.0_13\bin
2:keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore
3:输入密钥口令(因为是密文,不要以为键盘没反应, 例如输入111111后直接回车) 其他信息依照提示输入。结束按Y
会生成C:\Program Files\Java\jdk1.7.0_13\bin\android.keystore文件
4:右键工程android tool-》export signed application package
输入C:\Program Files\Java\jdk1.7.0_13\bin\android.keystore和密钥
5:如下图所见产生新的SHA1,替换百度控制台的的SHA1 打包以后的百度地图开发 生成的apk不会提示授权Key失败
二、Android - 百度地图打包混淆代码后地图崩溃的解决方法
前言:
之前开发项目用到百度地图,测试的时候没有问题;但是,一打包加混淆之后就出现地图崩溃的问题;项目已经完结,趁有闲暇时间赶紧分享一下自己的解决方案。
问题现象:
之前做百度地图开发时出现一些小问题、一搜发现大家似乎都遇到过这样的问题、大家知道百度地图API需要申请Key,填写安全码。
安全码的组成规则为:Android签名证书的sha1值 “;” packagename(即:数字签名 分号 包名)
debug的话、代码没有经过混淆、百度地图正常使用、只有在打包之后才有这个问题。
但是呢、基本上发布到应用市场的apk一般都是经过加密的、有点知识产权保护意识的都会有代码混淆、
就会用一套自己的keystore,重新设定“安全码后”、导出apk时没有报任何错误
但是当我装载手机上使用百度地图定位时、地图绘制了一大半、就死掉了、留下log控制台有这么句话
1
|
com.baidu.platform.comapi.map.MapRenderer.nativeRender(Native Method)
|
分析原因:
这里只贴了一句、还有很多异常信息哈、经过google查找、然后把百度地图官网又仔细读了便、果然功夫不负有心人、还是让我找到了、其实官方已经明确指出了
3.6.5 为何我的程序在不混淆之前可以运行,混淆之后不能运行了?
栅格版SDK(即1.3.5及之前的版本):
如果您使用proguard进行混淆,请在您的混淆配置文件中添加如下语句:
1
|
-keep class com.baidu.mapapi.** {*;}
|
矢量版SDK(即2.0.0及之后的版本):
如果是用proguard ,以下配置供参考:
1
2
3
|
#-libraryjars libs/baidumapapi_v3_1_0.jar 替换成自己所用版本的jar
-keep class com.baidu.** { *; }
-keep class vi.com.gdi.bgl.android.**{*;}
|
其他混淆工具也请进行与此类似的配置,指定对mapapi中的类和方法不进行混淆。
解决方案
在proguard-project.txt中添加如下(引用的是百度baidumapapi_v3_1_0.jar这版的jar包、换成自己的包就好了)、
1
2
3
|
-libraryjars libs/baidumapapi_v3_3_0.jar
-keep class com.baidu.** { *; }
-keep class vi.com.gdi.bgl.android.**{*;}
|
其实最后找到原因就是代码混淆时少了这行、加上之后再次导出、地图功能就可以正常使用了
1
|
-keep class vi.com.gdi.bgl.android.**{*;}
|
Android - 百度地图打包之后出现的问题相关推荐
- [android] 百度地图开发 (一).申请AK显示地图及解决显示空白网格问题
最近做android百度地图,但是使用baidumapapi_v2_3_1.jar和libBaiduMapSDK_v2_3_1.so显示百度地图时总是遇到问题--只显示网格而没有显示地图,网络 ...
- android 百度地图开发 别人用不了,Android百度地图开发的那些不足之处
Android百度地图开发的那些不足之处,最近做的项目中百度地图是很重要的一个模块,其中实现了定位.自定义Marker图标.线路规划.SuggestionSearch检索.地图截图以及导航等功能.因为 ...
- android百度地图覆盖物异步加载图片,Android 百度地图marker中图片不显示的解决方法(推荐)...
目的: 根据提供的多个经纬度,显示所在地的marker样式,如下: 问题: 1.发现marker中在线加载的图片无法显示出来: 2.获取多个对象后,却只显示出了一个marker: 以下为官网实现方法: ...
- android 百度地图 在线建议查询,Android 百度地图 SDK v3_3_0 (五) ---POI搜索和在线建议查询功能...
目前百度地图SDK所集成的检索服务包括:POI检索.公交信息查询.线路规划.地理编码.在线建议查询.短串分享. 本篇博客将先介绍POI检索和在线建议查询(在地图地位功能基础上实现的,还不知道定位的童靴 ...
- android百度地图标方向,Android百度地图之方向感应和模式更改
本文实例为大家分享了Android百度地图之方向感应和模式更改,供大家参考,具体内容如下 目标效果: 菜单中设置几种模式,点击可查看不同的地图形式,这里随便截几张图. 1.首先要去百度地图网站 htt ...
- android百度地图单点定位_Android百度地图实现搜索和定位及自定义图标绘制并点击时弹出泡泡...
一.问题描述 上一次我们使用百度地图实现基本的定位功能,接下来我们继续实现搜索和定位,并使用LocationOverlay绘制定位位置,同时展示如何使用自定义图标绘制并点击时弹出泡泡 如图所示: 二. ...
- Android百度地图
Android百度地图 1.先激活百度地图的账户 2.在终端获取SHA,创建应用 3.在百度地图开发平台获取AK 4.在官网下载所需配置 5.解压后放在项目的libs文件下 6.设计如下界面: 7.在 ...
- Android百度地图之位置定位和附近查找代码简单实现 (上)
很长时间没有做Android相关知识了,闲暇之余再弄了弄最新的百度地图API,主要是进行百度地图附近餐馆查找功能来练练手,同时熟悉下最新的API教程.文章比较基础,也希望对你有所帮助~参考前文: ...
- Android 百度地图开发(二)
前面我们一起了解了百度地图的申请与集成Android 百度地图开发(一),今天我们接着来学习百度地图. 今天主要来了解如下问题: 1.百度地图的生命周期控制 上一篇张我们已经在布局文件里增加了mapV ...
最新文章
- jquery学习(3)--高级选择器
- Ehcache的介绍
- Java中Comparable和Comparator的区别
- [LeetCode]Perfect Squares
- 理解分布式一致性:Paxos协议之Generalized Paxos Byzantine Paxos
- siwft初学(一)
- 青岛计算机学校分数线,青岛计算机应用与维修专业职业学校收费标准,物联网应用技术中专学校分数线...
- Spring Boot返回的数据格式是XML 而不是JSON之原因探求的和解决
- CCF NOI1075 F函数
- 使用pygal.maps.world库读取JSON格式文件,显示世界人口地图图示
- JavaSE基础笔记一
- 计算机仿真 是核心吗,《计算机仿真》北大核心
- C++ 中cin的输入原理及字符串(string、char[])输入问题
- Python一周小结
- WebView网页打不开原因之一(及自己遇到的一些WebView问题记录)
- 蜗蜗的毛衣花样c++
- 【转】浅谈人类视觉系统与卷积神经网络(CNN)的联系和区别
- 德州扑克 java 算法_德州扑克算法幕后研发者:AI如何打败顶级人类牌手?
- STM32学习5——舵机控制
- matlab如何循时将上一次运行出的结果带入下一次的运算,关于怎么把 for的上一次计算结果代入下一次循环的初始值问题...