文档章节

android添加keystore

singyen
 singyen
发布于 2017/09/11 17:28
字数 773
阅读 5
收藏 0
点赞 0
评论 0

Android调试大法之自定义IDE默认签名文件,你是否为调试第三方SDK时debug签名和release签名发生冲突而烦恼?你是否在debug时第三方功能测试通过,而release时无法使用?

如果你没有遇到我说的问题,那么我举几个例子。

  1. 微信支付、微信登录、微信分享,debug时调试通过,release时调不起微信? 
  2. 百度地图、高德地图,要不停的切换debug签名、release签名的hash值很麻烦?

上面的这些问题归根结底原因是我们开发的时候直接运行,使用的是默认的debug.keystore这个签名文件,而我们打包后正式环境用的是我们自定义的xxx.keystorexxx.jks等签名文件,两个文件的hash值不同。

而一般第三方的SDK都是通过识别我们应用的包名和签名的hash来判断是否在他们平台注册过,是否是官方正版应用等,如果验证不通过,自然不能调起第三方的的app了。

今天的文章内容不多,只需要3分钟就可以看完,同时保证可以解决上述因为签名引起的问题。

解决问题的原理

原理就是把我们正式的签名文件的keystore密码、aliasalias密码都修改成与Android默认签名debug.keystore的相同,并且在EclipseAndroidStudio中指定我们默认debug签名文件路径,此时当我们直接运行项目时ide将直接用我们指定的这个签名文件,此时我们debug时的签名和正式发布的签名一致了,所以在调试的时候什么微信、第三方支付都不存在签名错误等云云。(重点:签名文件和密码没有关系!!! 需要去了解签名的原理)

Android默认签名文件debug.keystore的keystore密码、alias、alias密码分别是:

  • keystore密码:android
  • alias:androiddebugkey
  • alias密码:android

所以接下来修改正式签名的这个三个属性。

修改keystore密码 alias alias密码

特别注意:修改签名文件密码、alias、alias密码相当于破坏了这个文件,所以我们修改的时候一定要copy一个签名文件出来,然后修改这个copy出来的文件的上述三个属性。

 

准备:进入debug.keystore 当前目录下(mac,Windows一样):

1: 修改keystore密码:   keytool -storepasswd -keystore debug.keystore 
2: 修改keystorealias: keytool -changealias -keystore debug.keystore -alias demokey.keystore -destalias androiddebugkey

3: 修改alias的密码:  keytool -keypasswd -keystore debug.keystore -alias androiddebugkey 

完成! 
备注相关信息都是我本地的。

个人开发者如果想体验微信登录功能,有一个变通的版本,就是用  ShareSDK 里面带的appid 和key,来做你的测试 :) 

本文转载自:http://blog.yanzhenjie.com

共有 人打赏支持
singyen
粉丝 0
博文 16
码字总数 1234
作品 0
修改android的avd路径方法

Documents and Settings用户名.androidavd下边,这个路径里不能有中文。 解决方法 1,。 最简单的,创建个英文名的用户,在新的用户环境下玩 2。手动添加一个系统环境变量值,这里我们可以对着...

_火狼_
2014/03/07
0
0
Google Maps Android API v2入门

概述 创建一个新的使用了Google Maps Android API v2的Android应用需要许多个步骤。这一节中所概述的其中的许多步骤只是需要必须执行一次而已,但有些信息则是未来应用开发方便的参考。给一个...

WolfCS
2013/11/30
0
0
如何解决:Android中 Error generating final archive: D...

问题概述: 在导入一个app后提示如下错误: “Error generating final archive: Debug Certificate expired on 10/09/18 16:30” 原因分析: android要求所有的程序必须有签名,否则就不会安...

岭南六少
2012/04/18
0
0
React Native Mac 下打包Android APK

打包的时候遇到了 好多坑 这里记录下~ 主要步骤: 1.android keystore签名的生成 gradle mac下环境变量的配置 3.android studio中的gradle配置。 4.打包 签名的生成 执行完之后,输入本机的 ...

JsLin_
06/18
0
0
申请google API Key

想使用google map api 必须从google网站上获取key之后才有权限使用,但是要想申请key必须要有证明书,也就是所谓的MD5.下面一步一步来说明: 步骤1: 如果你使用的是eclipse编写android程序,...

mutouzhang
2014/03/10
0
0
android签名机制(3)——如何制作签名

一、制作android签名公钥/密钥 1.生成长度为2048位的RSA私钥 openssl genrsa -3 -out test.pem 2048 2.生成x509格式的公钥证书 openssl req -new -x509 -key test.pem -out test.x509.pem -d......

blackylin
2014/01/21
0
1
Android中解决debug.keystore到期的问题

开发Android或者jee或者其他java应用时,如果eclipse中的项目前有个红叉叉,但是src下有没有任何提示错误但是又不能通过编译的时候如何找到项目工程的错误根源呢?方法如下: 打开eclipse的p...

亭子happy
2012/12/11
0
0
解决办法Android中Error generating final archive: Deb...

开发Android或者jee或者其他java应用时,如果eclipse中的项目前有个红叉叉,但是src下有没有任何提示错误但是又不能通过编译的时候如何找到项目工程的错误根源呢?方法如下: 打开eclipse的p...

nianien
2012/09/18
0
0
windows平台,使用keytool工具产生md5密纹

debug模式下的keystore密钥库,keystore位于如下位置: · Windows Vista: C:Users.androiddebug.keystore cmd cd .android "%JAVA_HOME%/bin/keytool" -list -alias androiddebugkey -keyst......

墨子Zhai
2011/06/23
0
1
如何解决:Android中 Error generating final archive: D...

问题概述: 在导入一个app后提示如下错误: “Error generating final archive: Debug Certificate expired on 10/09/18 16:30” 原因分析: android要求所有的程序必须有签名,否则就不会安...

AlexZhuang
2012/04/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

expect(spawn) 自动化git提交和scp拷贝---centos(linux)

**在进行SCP文件拷贝中,往往需要进行用户密码的输入,即用户交互。若采用自动化脚本的方式进行,则可用以下方式: ** #!/usr/bin/expect #设置参数 set src [lindex $argv 0] set dest [lin...

helplove
1分钟前
0
0
用Build来构建对象的写法

如果一个类的属性过多,用构造器来构建对象很难写,因此我们时用Build方式来构建对象。写法大致如下。 import java.io.Serializable;import java.util.Date;public class Log impleme...

算法之名
3分钟前
0
0
利用 acme.sh 获取网站证书并配置https访问

acme.sh 实现了 acme 协议, 可以从 letsencrypt 生成免费的证书.(https://github.com/Neilpang/acme.sh/wiki/%E8%AF%B4%E6%98%8E) 主要步骤: 安装 acme.sh 生成证书 copy 证书到 nginx/ap...

haoyuehong
17分钟前
2
0
微擎框架内如何根据media_id获取到微信图片的路径

微擎的框架内,图片选择后,获取的是那个字符串是media_id,相当于你这张图片在微信的图片服务器里面的id 要求是:获取https://mmbiz.qpic.cn/mmbiz_jpg/…… 微信图片的路径 而微信并没有根据m...

老bia同学
20分钟前
1
0
Spring boot中日期的json格式化

Model 在model层中,类的日期属性上面添加如下注解: @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd hh:mm:ss") 参考 Jackson Date格式化教程...

亚林瓜子
22分钟前
2
0
Eclipse:Failed to load the JNI shared library

1.问题背景: 由于我之前使用jdk1.9学习,当使用Luke的时候发现jdk版本过高,需要向下配置jdk,就向朋友拷了一个安装包。重新配置路径后,便开始报错。 2.问题描述: Failed to load the JNI...

tinder_boy
25分钟前
0
0
少儿学习编程课程是否真的适合七八岁的低龄儿童[图]

少儿学习编程课程是否真的适合七八岁的低龄儿童[图]: 天下熙熙皆为利来,天下攘攘皆为利往。 这几年来,乐高教育机构在国内如同雨后春笋般出现,当然关闭/转手的也很多。从教师角度来看,部...

原创小博客
30分钟前
1
0
ES12-词项查询

1.词项查询介绍 全文查询将在执行之前分析查询字符串,但词项级别查询将按照存储在倒排索引中的词项进行精确操作。这些查询通常用于数字,日期和枚举等结构化数据,而不是全文本字段。 或者,...

贾峰uk
38分钟前
2
0
http状态码与ajax的状态值

ajax状态值 1.1 200 & OK:状态请求成功

litCabbage
41分钟前
1
0
iOS动画效果合集、飞吧企鹅游戏、换肤方案、画板、文字效果等源码

iOS精选源码 动画知识运用及常见动画效果收集 3D卡片拖拽卡片叠加卡片 iFIERO - FLYING PENGUIN 飞吧企鹅SpriteKit游戏(源码) Swift封装的空数据提醒界面EmptyView 沙盒文件浏览与分享调试控...

sunnyaigd
44分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部