您的位置:首页 > 移动开发 > Android开发

android 生成签名文件与APK打包(学习笔记)

2015-03-24 11:37 453 查看
生成签名文件是使用JDK bin目录下keytool工具:

首先,我们需要一个keystore,当然已经有了的话就不用这一步了:

C:\Program Files (x86)\Java\jdk1.7.0_67\bin>keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore

输入密钥库口令:

再次输入新口令:

您的名字与姓氏是什么?

[Unknown]: barry

您的组织单位名称是什么?

[Unknown]: com.android.barry

您的组织名称是什么?

[Unknown]: com.android.barry

您所在的城市或区域名称是什么?

[Unknown]: china

您所在的省/市/自治区名称是什么?

[Unknown]: china

该单位的双字母国家/地区代码是什么?

[Unknown]: china

CN=barry, OU=com.android.barry, O=com.android.barry, L=china, ST=china, C=china是否正

确?

[否]: Y

输入 <android.keystore> 的密钥口令

(如果和密钥库口令相同, 按回车):

其中参数-validity为证书有效天数,这里我们写的大些10000天。还有在输入密码时没有回显(尽管输就是啦) 并且 退格,tab等都属于密码内容,这个密码在给.apk文件签名的时候需要.



然后签名:

Eclipse中,右击需要签名的工程-->android tools-->export signed application package...

出现下面对话框,选择需要签名的工程

next,选择上面生成的android.keystore文件位置和设置的密码

next

next,选择签名生成文件的位置和名称

finish,搞定啦...

也许有人会遇到问题:keytool 错误: java.io.FileNotFoundException: android.keystore (拒绝访问。)

那是因为没有写入权限。

解决方法1:右键命令提示符,选择“以管理员身份运行”;

解决方法2:配置好环境变量,在别的盘里面生成签名文件。

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

Debug模式下的签名

Android build tools 提供了debug签名模式, 帮助简化应用的开发和调试, 而仍然符合Android系统签名.apk的需求. 当使用debug模式来构建app时, SDK 工具调用 Keytool来自动创建一个用于debug的 keystore 和 key. 然后这个debug key被用来自动签名 .apk, 所以不必用自己的key来签名包.

SDK 工具使用预定义的 名称/密码 来创建keystore/key :

Keystore name: "debug.keystore"
Keystore password: "android"
Key alias: "androiddebugkey"
Key password: "android"
CN: "CN=Android Debug,O=Android,C=US"

如有必要, 可以更改 debug keystore/key 的 location/name 或自己提供一个自定义的 debug keystore/key. 然而, 任何自定义的debug keystore/key必须使用和默认debug key(如之前所述)相同的debug keystore/key 名称和密码. (Eclipse/ADT中, Windows > Preferences > Android > Build)

注意: 当用debug证书签名时, 应用程序不能对外发布.

参考:http://www.wosign.com/Support/Android_DigitalID.htm
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐