打包apk的SHA1,与key的SHA1(这是多人开发的通病不同电脑共同开发一个app的常见错误之一)不一致。解决方法:

今天虽然离职了,但是今天遇到的是,当我在用高德地图开发的时候,在AndroidStudio中直接运行时,可以定位,但是当给app打包成apk文件安装到手机上时却不能定位, 这个问题原因就是申请高德key的时候填写的SHA1也就是指纹证书有问题。我们开发的时候应该都是按照高德开放平台上介绍的流程去申请的,这当然是没问题的,但是当直接打包安装apk的时候就有问题了,因为按照高德的流程申请到的指纹证书只针对本地开发环境存在的默认签名文件debug.keystore的指纹证书。 
但是我们在开发一个apk发布在应用商店供别人下载时,需要我们自己对我们的app进行签名,并拿到签名文件,这个签名文件是我们自己apk的签名文件,和开发环境默认的签名文件不一样,指纹证书SHA1也不同。 
所以当我们用自己的签名文件导出apk时,高德地图的key应该是我们的签名文件的指纹证书,如果还是用开发环境debug.keystore的SHA1申请的key,就会出现不显示地图的情况,正确的配置流程如下:

用管理员cmd来进入key所在的包内:

输入生成key时候的密码

找到SHA1:

去高德开发平台注册一个帐号
http://lbs.amap.com/

然后点击右上角控制台在里面创建新应用

然后添加新key

填信息

展开信息

获取key和填写key到AndroidManiFests.xml文件中

然后打包

然后运行就ok

定位真机运行能用但是打包成apk就不能用的解决方法的更多相关文章

  1. 关于真机调试DDMS中的data文件夹打不开的解决方法

    关于真机调试DDMS中的data文件夹打不开的解决方法 今天在开发的时候需要导出程序中的数据库文件查看数据,数据库文件默认就在/data/data/应用包名/databases/数据库名 这个路径下, ...

  2. H5 app在真机调试的时候正常,打包成app后报错

    在自己的一个用h5开发的项目中, 环境 IDE HBuilderX 打包工具 Hbuilder线上打包 开发语言 JS 现象 从一个列表进入详细页之后一直转圈圈.因为是调用系统原生的等待组件,界面无法 ...

  3. Android studio关于真机调试DDMS中的data文件夹打不开的解决方法

    由于做开发的时候想打开查看数据库存放的内容,在eclipse中数据库文件默认就在/data/data/应用包名/databases/数据库名,而用Android studio打开DDMS下面找时发现点 ...

  4. 本机运行x程序出现:Can't open display 原因及其解决方法(貌似非永久)

    http://blog.sina.com.cn/s/blog_53db572501016ma7.html 这是因为Xserver默认情况下不允许别的用户的图形程序的图形显示在当前屏幕上. 如果需要别的 ...

  5. vue-cli开发项目,调用html5+接口,hbuilder真机运行,打包

    开发中使用vue-cli正常开发 将配置文件中的路径改为相对路径--否则在打包之后真机运行时无法找到指定路径 开发完或者开发途中想要查看调用h5+的api效果就需要打包了 npm run build ...

  6. ReactNative真机运行指南

    ReactNative真机运行指南 注意在iOS设备上运行React Native应用需要一个Apple Developer account并且把你的设备注册为测试设备.本向导只包含React Nat ...

  7. Appium学习之驱动真机运行

    一.Appium工具的简单原理 Appium工具可以分为:客户端(appium-client).服务端(appium-server)和移动设备端(模拟器或者真机).客户端支持多语言,如:python- ...

  8. 二.Android手机自动化测试真机运行

    手机自动化测试用例虽然可以在模拟器上运行,可是模拟器毕竟和真机还是有区别的.在搞定了模拟器上运行测试用例后,我又花了两天的时间,研究了一下真机运行测试用例.期间也遇到了不少问题,不过最终还是搞定了,现 ...

  9. ionic ios项目真机运行-不用开发者账号

    ionic ios项目真机运行-不用开发者账号 1. 添加ios平台 ionic platform add ios 2.使用XCODE打开项目 3.使用APPID登录XCODE 打开XCODE账号登录 ...

随机推荐

  1. Docker系列(十四):Kubernetes API和源码分析

    Kubernetes API入门 Ku8 eye开源项目

  2. day 42 01--CSS的引入方式及CSS选择器

    01--CSS的引入方式及CSS选择器   本节目录 一 CSS介绍 二 行内样式 三 内接样式 四 外接样式 五 CSS的选择器 六 CSS的高级选择器 七 CSS的属性选择器 八 CSS的伪类选择 ...

  3. Starting MySQL ** mysqld_safe Directory '/var/lib/mysql' for UNIX socket file don't exists

    本地虚拟机(CentOS6.8)启动MySQL(MySQL5.6.35)服务失败 [root@VMUest ~]# service mysql status ERROR! MySQL is not r ...

  4. Image 转换成 Icon

    /// <summary> /// Converts an image into an icon. /// </summary> /// <param name=&quo ...

  5. .net 设置默认首页

    解决方案一:设置默认首页 在 Web.config 文件中,加上红色字体间的内容 <configuration> <system.web> <compilation de ...

  6. win10 安装face_recongnition

    1.安装dlib https://stackoverflow.com/questions/41912372/dlib-installation-on-windows-10 2.安装face_recon ...

  7. 子类A继承父类B, A a = new A(); 则父类B构造函数、父类B静态代码块、父类B非静态代码块、子类A构造函数、子类A静态代码块、子类A非静态代码块 执行的先后顺序是

    按照先后顺序: 1,静态先于非静态代码库执行(静态代码块随着类的加载而加载,初始化只执行一次) 2,父类先于子类 3,非静态代码块优于构造函数执行 所以执行顺序如下: 父类B静态代码块->子类A ...

  8. TP5隐藏index.php

    一,找到/public/.htaccess文件,如果你的入口文件已经移动到根目录下,那么你的.htaccess文件也要剪切到根目录下,总之要确保.htaccess跟入口的index.php保持同级. ...

  9. 装配SpringBean(一)--依赖注入

    所谓依赖注入,我觉得说白了其实就是给成员变量赋值,不管这个成员变量是基本类型还是引用类型,Spring中常用的依赖注入方式有两种: 1.构造器注入 2.setter注入 下面通过代码实例说明这两种注入 ...

  10. Java 线程池 +生产者消费者+MySQL读取300 万条数据

    1.1需求 数据库300 万条用户数据 ,遍历获取所有用户, 各种组合关联, 获取到一个新的json ,存到redis 上. 1.2 难点 数据库比较多, 不可能单线程查询所有的数据到内存. 1.3解 ...