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
首先,我们需要一个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
相关文章推荐
- android studio 学习笔记之 生成签名APK
- 使用ant让Android自动打包的build.xml,自动生成签名的apk文件(支持android4.0以上的版本)
- android Ant批打包学习(一):生成没有签名的apk
- cocos2d-x 学习笔记之生成Android Apk文件
- Mac下 Android studio创建签名证书,打包生成APK,.jks文件添加到build.gradle中
- 安卓学习笔记---Android Studio生成签名文件,自动签名,以及获取SHA1和MD5值
- 安卓学习笔记---Android 开发技巧-以友盟为例在Android Studio利用gradle进行多渠道打包和apk签名发布
- 使用ant让Android自动打包的build.xml,自动生成签名的apk文件(支持android4.0以上的版本) .
- 【Android】打包过程:生成自动代码->编译->(混淆)->dex文件->生成资源文件->打apk包->(签名)->对齐
- 使用ant让Android自动打包的build.xml,自动生成签名的apk文件(支持android4.0以上的版本)
- 使用ant让Android自动打包的build.xml,自动生成签名的apk文件(支持android4.0以上的版本)
- [转]使用ant让Android自动打包的build.xml,自动生成签名的apk文件(支持android4.0以上的版本)
- Android studio 通过build.gradle 配置打包签名文件,生成 xxx.apk
- 使用ant让Android自动打包的build.xml,自动生成签名的apk文件(支持android4.0以上的版本)
- Android-生成签名文件apk打包
- Android 自动编译、打包生成apk文件 4 - 多渠道批量打包
- android技巧:apk文件反编译以及签名打包
- Android 命令行编译、打包生成apk文件
- 获取android应用签名证书(打包APK用到的那个文件)的SHA1,MD5,SHA256值
- Ant打包Android代码生成apk文件