Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 507|回复: 0

开发交流:android apk 程序签名

[复制链接]

该用户从未签到

发表于 2011-10-24 09:13:12 | 显示全部楼层 |阅读模式
[前言]
我们平时在开发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
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2025-1-10 19:05 , Processed in 0.337228 second(s), 34 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表