[前言]
我们平时在开发android应用程序的过程中,一般都是利用eclipse集成开发环境,所以生成的apk有debug版本的签名权限,但是如果我们想要发布一款应用程序,并且希望在真机上运行的话,就需要进行签名。

[工具]
Java开发环境中的Keytool 和 Jarsigner,注意配置好环境路径,输入命令后有如下提示信息:

C:\Documents and Settings\F1034740\桌面\博客文章>Keytool
keytool 用法:

-certreq [-v] [-protected]
[-alias <別名>] [-sigalg <簽章演算法>]
[-file <憑證簽章要求檔案>] [-keypass <主密碼>]
[-keystore <金鑰儲存庫>] [-storepass <儲存庫密碼>]
[-storetype <儲存庫類型>] [-providername <名稱>]
[-providerclass <提供者類別名稱> [-providerarg <引數>]] ...
[-providerpath <路徑清單>]
。。。。。。

C:\Documents and Settings\F1034740\桌面\博客文章>Jarsigner
Usage: jarsigner [options] jar-file alias
jarsigner -verify [options] jar-file

[-keystore <url>] keystore location

[-storepass <password>] password for keystore integrity

[-storetype <type>] keystore type

[-keypass <password>] password for private key (if different)

[-sigfile <file>] name of .SF/.DSA file
。。。。。。

[签名文件的制作]
下面我们来制作一个名称为carey.keystore(生成并保存在当前操作目录下),密码为password(密码在输入的过程中不回显)的keystore签名文件,接下来就会用它来给我们自己的apk签名

C:\Documents and Settings\F1034740\桌面\博客文章>keytool -genkey -alias carey.k
ystore -keyalg RSA -validity 20000 -keystore carey.keystore
輸入 keystore 密碼:<password>
重新輸入新密碼: <password>
您的名字與姓氏為何?
[Unknown]: carey zhou
您的編制單位名稱為何?
[Unknown]: foxconn
您的組織名稱為何?
[Unknown]: it
您所在的城市或地區名稱為何?
[Unknown]: shenzhen
您所在的州及省份名稱為何?
[Unknown]: guangdong
該單位的二字國碼為何
[Unknown]: cn
CN=carey zhou, OU=foxconn, O=it, L=shenzhen, ST=guangdong, C=cn 正確嗎?
[否]: Y

輸入 <carey.keystore> 的主密碼
(RETURN 如果和 keystore 密碼相同):<password>
重新輸入新密碼: <password>

[签名过程]
下面我们来给一个未签名的apk(HomeIP2-unsigned.apk)进行签名,生成新的apk(HomeIP2-signed.apk)

C:\Documents and Settings\F1034740\桌面\博客文章>jarsigner -verbose -keystore carey.keystore -signedjar HomeIP2-signed.apk HomeIP2-unsigned.apk carey.keystore
Enter Passphrase for keystore: <password>
adding: META-INF/MANIFEST.MF
adding: META-INF/CAREY_KE.SF
adding: META-INF/CAREY_KE.RSA
signing: res/anim/fade_in.xml
signing: res/anim/fade_out.xml
signing: res/anim/fadeout.xml
signing: res/anim/grid_entry.xml
signing: res/anim/grid_exit.xml
signing: res/anim/hide_applications.xml
signing: res/anim/noneshow.xml
signing: res/anim/show.xml
signing: res/anim/show_applications.xml
signing: res/color/bright_text_dark_focused.xml
signing: res/color/listtextcolor.xml
signing: res/drawable/apparrow.xml
signing: res/drawable/application_background.9.png
signing: res/drawable/button.xml
。。。。。。

[总结]
以上就是制作签名文件和给apk签名的过程,详细的情况请参考android官方开发文档http://developer.android.com/guide/publishing/app-signing.html

更多相关文章

  1. 一篇文章看明白 Android(安卓)系统启动时都干了什么
  2. android禁止锁屏保持常亮
  3. Android开源库集锦 + Android场景桌面(一) 转自way
  4. 一篇文章看明白 Android(安卓)Service 启动过程
  5. # 读 Android(安卓)开发艺术探索 &8
  6. Android桌面组件App Widget开发三步走
  7. 开源自己写的刷票器软件(windows和Android)
  8. [转]Android异步处理系列文章索引
  9. Android面试系列文章2018之Java部分类加载器篇

随机推荐

  1. mk文件中配置lib arm64 文件夹
  2. Android DataBinding介绍
  3. Android - 绘画出圆并保存为图片(详)
  4. Android com.android.internal.R 添加新i
  5. uni-app 跳转Android原生界面(Activity),
  6. Android 文件操作,删除,拷贝文件等
  7. Android Interface Definition Language
  8. layer-list使用
  9. 「Android」SurfaceFlinger分析
  10. Android常遇疑难问题