[置顶] 我的Android进阶之旅------>Android中制作和查看自定义的Debug版本Android签名证书

时间:2022-06-25 10:40:11

Android应用开发接入各种SDK时会发现,有很多SDK是需要靠package name和的证书指纹SHA1码来识别的,如百度地图SDK。这样如果使用默认自动生成的debug的话就会给开发调试工作带来一些麻烦。这时可以通过修改正式的release keystore,生成一份“遵守规矩”的临时自定义调试证书给开发时用,就方便多了,具体方法如下。

首先要知道默认的debug证书位置在哪里,打开Eclipse-->Windows-->Preferences

-->Android-->Build,如下图所示:

[置顶] 我的Android进阶之旅------>Android中制作和查看自定义的Debug版本Android签名证书

然后打开cmd查看,进入 .android 目录,然后输入命令查看该debug.keystore的详细信息。如下:

C:\Documents and Settings\Administrator\.android>keytool -list -v -keystore debug.keystore
输入密钥库口令: 密钥库类型: JKS
密钥库提供方: SUN 您的密钥库包含 1 个条目 别名: androiddebugkey
创建日期: 2015-9-7
条目类型: PrivateKeyEntry
证书链长度: 1
证书[1]:
所有者: CN=Android Debug, O=Android, C=US
发布者: CN=Android Debug, O=Android, C=US
序列号: 4ccdc980
有效期开始日期: Mon Sep 07 14:00:58 CST 2015, 截止日期: Wed Aug 30 14:00:58 CST 2045
证书指纹:
MD5: 95:15:A3:05:C6:02:86:07:C3:42:D7:AF:E8:F1:B6:ED
SHA1: E1:F7:8E:35:DF:DC:85:9E:7D:AB:62:83:5A:F0:AD:D6:A3:41:D8:06
SHA256: BB:06:CD:55:45:5F:43:58:C5:5B:59:3D:6B:1D:F1:85:B0:F1:15:69:98:4D:7A:2C:17:0B:E9:BB:13:A1:82:51
签名算法名称: SHA256withRSA
版本: 3 扩展: #1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: AA 1C 94 38 C4 8B 6D 03 38 2D 37 79 69 B5 69 4D ...8..m.8-7yi.iM
0010: 86 33 B8 19 .3..
]
] *******************************************
*******************************************

可以得到相关信息为:

Keystore name: “debug.keystore”

Keystore password: “android”

Key alias: “androiddebugkey”

Key password: “android”

CN: “CN=Android Debug,O=Android,C=US”

因此我们遵循这个规则就可以用自定义调试证书了。

第一步:为我们的应用生成一个正式版的证书。如下图所示。

1、创造一个新的keystore,并选择导出到什么位置,填写密码,密码为ouyangpeng

[置顶] 我的Android进阶之旅------>Android中制作和查看自定义的Debug版本Android签名证书

2、填写别名,别名密码,有效期、姓名、组织、城市、省份、国家等信息,密码为ouyangpeng

[置顶] 我的Android进阶之旅------>Android中制作和查看自定义的Debug版本Android签名证书

3、这样就在相应的目录下,生成了相应的证书,我给的名字是baiduMapLoc-release-key.keystore

4、通过命令查看生成的baiduMapLoc-release-key.keystore 的相关信息。

C:\Documents and Settings\Administrator\桌面\baiduMapLoc>keytool -list -v -keystore baiduMapLoc-release-key.keystore
输入密钥库口令: 密钥库类型: JKS
密钥库提供方: SUN 您的密钥库包含 1 个条目 别名: baidumaploc
创建日期: 2015-10-10
条目类型: PrivateKeyEntry
证书链长度: 1
证书[1]:
所有者: CN=ouyangpeng, OU=ouyangpeng, O=ouyangpeng, L=深圳, ST=广东, C=中国
发布者: CN=ouyangpeng, OU=ouyangpeng, O=ouyangpeng, L=深圳, ST=广东, C=中国
序列号: 5eac1cda
有效期开始日期: Sat Oct 10 11:50:39 CST 2015, 截止日期: Mon Oct 02 11:50:39 CST 2045
证书指纹:
MD5: 91:15:11:06:05:CB:E0:CB:4B:2B:36:02:81:16:A7:DF
SHA1: E9:A3:E4:95:1F:D2:11:0E:3E:89:45:26:AB:EF:A2:FB:DB:3F:5B:1A
SHA256: C4:D6:15:27:23:81:EC:3A:53:68:FE:04:63:91:70:79:B6:93:A6:5F:3D:29:ED:62:43:01:67:11:F3:28:91:8C
签名算法名称: SHA256withRSA
版本: 3 扩展: #1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 69 D8 5C C9 2C 8E 9E B8 49 E3 E1 31 A7 35 B2 D1 i.\.,...I..1.5..
0010: 10 52 FB 17 .R..
]
] *******************************************
*******************************************

如图所示:

[置顶] 我的Android进阶之旅------>Android中制作和查看自定义的Debug版本Android签名证书

第二步:复制刚才生成的正式版本的证书baiduMapLoc-release-key.keystore,并将复制的证书改名为baiduMapLoc-debug-key.keystore。

第三步:修改baiduMapLoc-debug-key.keystore的密码

因为debug版本的keystore要求密码为android,所以将原始密码ouyangpeng改成android。如下图所示。

[置顶] 我的Android进阶之旅------>Android中制作和查看自定义的Debug版本Android签名证书

C:\Documents and Settings\Administrator\桌面\baiduMapLoc>keytool -storepasswd -keystore baiduMapLoc-debug-key.keystore
输入密钥库口令:
新keystore password:
重新输入新keystore password:

第四步:修改baiduMapLoc-debug-key.keystore的alias别名。

C:\Documents and Settings\Administrator\桌面\baiduMapLoc>keytool -changealias -keystore baiduMapLoc-debug-key.keystore -alias baiduMapLoc -destalias androiddebugkey
输入密钥库口令:
输入 <baiduMapLoc> 的密钥口令

因为debug版本的keystore要求alias为androiddebugkey,所以将原始alias为baidumaploc改成androiddebugkey。如下图所示。

[置顶] 我的Android进阶之旅------>Android中制作和查看自定义的Debug版本Android签名证书

第五步:修改baiduMapLoc-debug-key.keystore的alias别名的密码。

C:\Documents and Settings\Administrator\桌面\baiduMapLoc>keytool -keypasswd -keystore baiduMapLoc-debug-key.keystore -alias androiddebugkey
输入密钥库口令:
输入 <androiddebugkey> 的密钥口令
新<androiddebugkey> 的密钥口令:
重新输入新<androiddebugkey> 的密钥口令:

因为debug版本的keystore要求alias为androiddebugkey,并且别名密码为android,因此我们要将密码从ouyangpeng修改为android,如下图所示。

[置顶] 我的Android进阶之旅------>Android中制作和查看自定义的Debug版本Android签名证书

第六步:查看修改后的baiduMapLoc-debug-key.keystore详细信息

C:\Documents and Settings\Administrator\桌面\baiduMapLoc>keytool -list -v -keystore baiduMapLoc-debug-key.keystore
输入密钥库口令: 密钥库类型: JKS
密钥库提供方: SUN 您的密钥库包含 1 个条目 别名: androiddebugkey
创建日期: 2015-10-10
条目类型: PrivateKeyEntry
证书链长度: 1
证书[1]:
所有者: CN=ouyangpeng, OU=ouyangpeng, O=ouyangpeng, L=深圳, ST=广东, C=中国
发布者: CN=ouyangpeng, OU=ouyangpeng, O=ouyangpeng, L=深圳, ST=广东, C=中国
序列号: 5eac1cda
有效期开始日期: Sat Oct 10 11:50:39 CST 2015, 截止日期: Mon Oct 02 11:50:39 CST 2045
证书指纹:
MD5: 91:15:11:06:05:CB:E0:CB:4B:2B:36:02:81:16:A7:DF
SHA1: E9:A3:E4:95:1F:D2:11:0E:3E:89:45:26:AB:EF:A2:FB:DB:3F:5B:1A
SHA256: C4:D6:15:27:23:81:EC:3A:53:68:FE:04:63:91:70:79:B6:93:A6:5F:3D:29:ED:62:43:01:67:11:F3:28:91:8C
签名算法名称: SHA256withRSA
版本: 3 扩展: #1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 69 D8 5C C9 2C 8E 9E B8 49 E3 E1 31 A7 35 B2 D1 i.\.,...I..1.5..
0010: 10 52 FB 17 .R..
]
] *******************************************
*******************************************

[置顶] 我的Android进阶之旅------>Android中制作和查看自定义的Debug版本Android签名证书

对比一下release版本的证书,MD5和SHA1都是一样的

[置顶] 我的Android进阶之旅------>Android中制作和查看自定义的Debug版本Android签名证书

第七步:将修改后的baiduMapLoc-debug-key.keystore导入到Eclipse中

[置顶] 我的Android进阶之旅------>Android中制作和查看自定义的Debug版本Android签名证书

第八步:将修改后的baiduMapLoc-debug-key.keystore分享给团队开发人员,这样大家开发同一个APP时候的debug版本keystore也是一样的了。这样MD5码和SHA1码都是一样的,在百度SDK中去申请秘钥什么的都可以只要申请一份了。

====================================================================================

  作者:欧阳鹏  欢迎转载,与人分享是进步的源泉!

  转载请保留原文地址:http://blog.csdn.net/ouyang_peng

====================================================================================

[置顶] 我的Android进阶之旅------>Android中制作和查看自定义的Debug版本Android签名证书

[置顶] 我的Android进阶之旅------>Android中制作和查看自定义的Debug版本Android签名证书的更多相关文章

  1. 我的Android进阶之旅------>ListView中android&colon;cacheColorHint&comma;android&colon;listSelector属性作用 &period;

    ( 本文转载于:http://blog.csdn.net/stonecao/article/details/6216449) 自定义listview的时候,当你不使用android:cacheColo ...

  2. 我的Android进阶之旅------>Android中查看应用签名信息

    一.查看自己的证书签名信息 如上一篇文章<我的Android进阶之旅------>Android中制作和查看自定义的Debug版本Android签名证书>地址:http://blog ...

  3. &lbrack;置顶&rsqb; 我的Android进阶之旅------&gt&semi;介绍一款集录制与剪辑为一体的屏幕GIF 动画制作工具 GifCam

    由于上一篇文章:我的Android进阶之旅------>Android之动画之Frame Animation实例 中展示的是Frame动画效果,但是之前我是将图片截取下来,不好说明确切的动画过程 ...

  4. 【我的Android进阶之旅】推荐一款视频转换GIF图片格式的转换工具(Video to GIF)

    一.背景 最近想把一些Android Demo的运行效果图获取下来,但是一直使用真机进行调试,在电脑上不好截取一段gif动画.而之前使用模拟器的时候可以使用 GifCam 工具进行屏幕动画截取.Gif ...

  5. 我的Android进阶之旅------&amp&semi;gt&semi; Android在TextView中显示图片方法

    面试题:请说出Android SDK支持哪些方式显示富文本信息(不同颜色.大小.并包括图像的文本信息).并简要说明实现方法. 答案:Android SDK支持例如以下显示富文本信息的方式. 1.使用T ...

  6. 我的Android进阶之旅------&amp&semi;gt&semi;Android字符串资源中的单引號问题error&colon; Apostrophe not preceded by 的解决的方法

    刚刚在string字符串资源文件里,写了一个单引號.报错了,错误代码例如以下 error: Apostrophe not preceded by \ (in OuyangPeng's blog ) 资 ...

  7. 我的Android进阶之旅------>Android颜色值(&num;AARRGGBB)透明度百分比和十六进制对应关系以及计算方法

    我的Android进阶之旅-->Android颜色值(RGB)所支持的四种常见形式 透明度百分比和十六进制对应关系表格 透明度 十六进制 100% FF 99% FC 98% FA 97% F7 ...

  8. 我的Android进阶之旅------>解决Jackson等第三方转换Json的开发包在开启混淆后转换的实体类数据都是null的bug

    1.错误描述 今天测试人员提了一个bug,说使用我们的app出现了闪退的bug,后来通过debug断点调试,发现我们的app转换服务器发送过来的json数据后,都是为null.而之前已经提测快一个月的 ...

  9. 我的Android进阶之旅------>关于android&colon;layout&lowbar;weight属性的详细解析

    关于androidlayout_weight属性的详细解析 效果一 效果二 图3的布局代码 图4的布局代码 效果三 图7代码 图8代码 效果四 效果五 版权声明:本文为[欧阳鹏]原创文章,欢迎转载,转 ...

随机推荐

  1. Django(四)

    一.请求周期 url> 路由 > 函数或类 > 返回字符串或者模板语言? 1.Form表单提交: 提交 -> url > 函数或类中的方法 - .... HttpResp ...

  2. mongodb安装与使用

    一.在linux服务器中安装mongodb 1.首先你要有一台安装有linux系统的主机 2.从mongoDB官网下载安装包:http://www.mongodb.org/downloads 3.将下 ...

  3. Ant -- Another Neat Tool

      最早用来构建著名的Tomcat,可以看成是一个Java版本的Make.也正因为使用了Java,Ant是跨平台的.   Ant有一个构建脚本build.xml <?xml version = ...

  4. Android 四大组件之Acticity

    什么是Activity? Activity是Android组件中最基本也是最为常见用的四大组件(Activity,Service服务,Content Provider内容提供者,BroadcastRe ...

  5. &lbrack;读书笔记&rsqb;了不起的node&period;js&plus;实践&lpar;一&rpar;

    环境的变化带来了技术*,机遇和挑战同时到来.基于我js也没有学,只好赶鸭子上架一起学了.(>﹏<) 1.先读读书 一开始就不知死活地看<深入浅出node.js>,弄得团团转 ...

  6. 95秀-弹窗&plus;listview&plus;动画 示例

    Dialog布局 dialog.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLay ...

  7. java学习笔记-继承中super关键字

    背景: 在java继承的概念中我们得知,被声明为私有的类成员对所属的类来说仍然是私有的.类之外的任何代码都不能访问,包括子类. super关键字的两种用法: 1.用于调用超类的构造函数: 2.用于访问 ...

  8. servlet&plus;jsp update修改页面的实现,整整搞了两个小时才搞定

    package DAO; public class books { private int bid; private String bname; private int booksl; private ...

  9. 团队作业8----第二次项目冲刺(beta阶段)5&period;25

    Day7-05.25 1.每日会议 会议内容: 1.今日对整个项目进行了一个总结. 2.讨论了这次项目中的不足和每个人的贡献. 讨论照片:拍摄者 周迪 2.任务分配情况: 每个人的工作分配表: 队员 ...

  10. LOJ&num;6285&period; 数列分块入门 9

    有点难..... 要求区间众数,所以我可以先把区间分块,然后我预处理出从第 i 块到第 j 块的众数,用dp[i][j]记录下来. 因为需要知道众数的num值, 所以我可以用一个vector来保存每个 ...