eclipse android 设置及修改生成apk的签名文件
2016-01-27 10:31
525 查看
android eclipse 设置及修改生成apk的签名文件
1、
问题:
平时在使用eclipse进行android project开发时,由于每个项目组都有自身的签名,
但默认Eclipse ADT调试运行使用的是临时生成的Debug专用证书,默认为C:\Users\XXX\.android\debug.keystore。
于是每次调试程序必须使用ADT的Export Signed Application Package打带正式签名的包,或者另写重新签名脚本,比较麻烦。
后来发现ADT允许自定义调试用证书,在Window->Preferences->Android->Build->Custom debug keystore这里,
试了一下选择正式证书后提示:”Keystore was tampered with, or password was incorrect”
其实这个界面并没有提供输入Keystore密码,选择别名之类的地方,所以就感到非常奇怪了,查了一下官方文档发现,即使是自定义的调试证书,也需要保证和默认证书一样的密码,别名alias和别名密码。
文档中提到的默认证书信息如下:
![](http://dl2.iteye.com/upload/attachment/0096/9746/6b07071f-4c17-3a6a-8d27-593b05483a76.png)
Keystore name: “debug.keystore”
Keystore password: “android”
Key alias: “androiddebugkey”
Key password: “android”
CN: “CN=Android Debug,O=Android,C=US”
遵循这个规则就可以用自定义调试证书了。不过仔细想想感觉这功能这样很是鸡肋,希望以后版本的ADT会改进吧。
参考:http://blog.k-res.net/archives/1229.html
解决:
按照android默认证书规范,更改项目的签名文件的密码,别名和别名密码。然后将 "Custom debug keystore" 设置为修改过后的签名文件
方式:
1. 首先当然是先复制一份正式证书出来作为要修改为的临时调试证书。
2. 修改keystore密码的命令(keytool为JDK带的命令行工具):
keytool -storepasswd -keystore my.keystore
其中,my.keystore是复制出来的证书文件,执行后会提示输入证书的当前密码,和新密码以及重复新密码确认。这一步需要将密码改为android。
3. 修改keystore的alias:
keytool -changealias -keystore my.keystore -alias my_name -destalias androiddebugkey
这一步中,my_name是证书中当前的alias,-destalias指定的是要修改为的alias,这里按规矩来,改为androiddebugkey!这个命令会先后提示输入keystore的密码和当前alias的密码。
4. 修改alias的密码:
keytool -keypasswd -keystore my.keystore -alias androiddebugkey
这一步执行后会提示输入keystore密码,alias密码,然后提示输入新的alias密码,同样,按规矩来,改为android!
参考:http://blog.k-res.net/archives/1671.html
1、
问题:
平时在使用eclipse进行android project开发时,由于每个项目组都有自身的签名,
但默认Eclipse ADT调试运行使用的是临时生成的Debug专用证书,默认为C:\Users\XXX\.android\debug.keystore。
于是每次调试程序必须使用ADT的Export Signed Application Package打带正式签名的包,或者另写重新签名脚本,比较麻烦。
后来发现ADT允许自定义调试用证书,在Window->Preferences->Android->Build->Custom debug keystore这里,
试了一下选择正式证书后提示:”Keystore was tampered with, or password was incorrect”
其实这个界面并没有提供输入Keystore密码,选择别名之类的地方,所以就感到非常奇怪了,查了一下官方文档发现,即使是自定义的调试证书,也需要保证和默认证书一样的密码,别名alias和别名密码。
文档中提到的默认证书信息如下:
![](http://dl2.iteye.com/upload/attachment/0096/9746/6b07071f-4c17-3a6a-8d27-593b05483a76.png)
Keystore name: “debug.keystore”
Keystore password: “android”
Key alias: “androiddebugkey”
Key password: “android”
CN: “CN=Android Debug,O=Android,C=US”
遵循这个规则就可以用自定义调试证书了。不过仔细想想感觉这功能这样很是鸡肋,希望以后版本的ADT会改进吧。
参考:http://blog.k-res.net/archives/1229.html
解决:
按照android默认证书规范,更改项目的签名文件的密码,别名和别名密码。然后将 "Custom debug keystore" 设置为修改过后的签名文件
方式:
1. 首先当然是先复制一份正式证书出来作为要修改为的临时调试证书。
2. 修改keystore密码的命令(keytool为JDK带的命令行工具):
keytool -storepasswd -keystore my.keystore
其中,my.keystore是复制出来的证书文件,执行后会提示输入证书的当前密码,和新密码以及重复新密码确认。这一步需要将密码改为android。
3. 修改keystore的alias:
keytool -changealias -keystore my.keystore -alias my_name -destalias androiddebugkey
这一步中,my_name是证书中当前的alias,-destalias指定的是要修改为的alias,这里按规矩来,改为androiddebugkey!这个命令会先后提示输入keystore的密码和当前alias的密码。
4. 修改alias的密码:
keytool -keypasswd -keystore my.keystore -alias androiddebugkey
这一步执行后会提示输入keystore密码,alias密码,然后提示输入新的alias密码,同样,按规矩来,改为android!
参考:http://blog.k-res.net/archives/1671.html
相关文章推荐
- 【Java多线程】之一:介绍及总结
- XML—— XSL 转换
- java内存分配问题详解
- 【Java多线程】之二:synchronized详解
- JavaEE web.xml 中ContextLoaderListener的解析
- 使用组合模式与迭代器模式遍历文件夹中所有文件
- java特性
- Maven报错Missing artifact jdk.tools:jdk.tools:jar:1.7--转
- Java读取Unicode文件(UTF-8等)时碰到的BOM首字符问题,及处理方法
- java的运行机制详解 .
- Java使用Dom方式解析xml文件Demo
- MyEclipse 护眼配色
- Spring MVC +Mybatis + Maven 配置之web.xml配置
- Java程序和垃圾回收机制
- properties文件Eclipse中文乱码问题
- myeclipse svn信息突然消失
- spring 配置sqlite的方式
- Spring多数据源事务解决方案
- 用Java实现的多线程扫描IP程序
- 用maven运行指定java类main方法