android要求所有的程序必须有签名,否则就不会安装该程序。在我们开发过程中,adt使用debug keystore,在 preference->android->buid中设置。debug的keystore默认有效期为一年,如果你是从一年前开始开发 android程序,那么很可能出现debug keystore过期,导致你无法生成 apk文件。我调了一下系统时间,就出现以下错误。此时你只要删除debug keystore就行,系统又会为你生成有效期为一年的私钥。

当你release时,你可以用 右击项目->android tools->export signed android package生成签名的包。再此过程中,如果你还没有你自己的私钥,adt会自动调用 keytool 来为你生成。请保护好你的私钥,否则被人盗用的话,就用攻击你的签名程序了。
release前还应注意版本号,在manifest.xml中有两个字段android:versionCode="1"和 android:versionName="1.0",其中前者是给程序或者android使用,以1递增。后者是给用户看的,在这里你就可以使用主版本 号 次版本号 build号灯字符串。
首先,我们需要一个keystore,当然已经有了的话就不用这一步了:
cmd下:
进入到jdk的bin目录,这样的话,android.keystore文件就会生成在这个目录下,签名的时候我们需要这个文件
D:\Program Files\Java\jdk1.6.0_20\bin>keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore
输入keystore密码:
再次输入新密码:
您的名字与姓氏是什么?
[Unknown]: qiaoling您的组织单位名称是什么?
[Unknown]: www.chinaandroid.com
您的组织名称是什么?
[Unknown]: www.chinaandroid.com
您所在的城市或区域名称是什么?
[Unknown]: haidian
您所在的州或省份名称是什么?
[Unknown]: BJ
该单位的两字母国家代码是什么
[Unknown]: 86
CN=qiaoling, OU=www.chinaandroid.com, O=www.chinaandroid.com, L=haidian, ST=BJ, C=86 正确吗?
[否]: Y
输入<android.keystore>的主密码(如果和 keystore 密码相同,按回车):
其中参数-validity为证书有效天数,这里我们写的大些10000天。还有在输入密码时没有回显(尽管输就是啦) 并且 退格,tab等都属于密码内容,这个密码在给.apk文件签名的时候需要.
然后签名:
Eclipse中,右击需要签名的工程-->android tools-->export signed application package...
出现下面对话框,选择需要签名的工程
next,选择上面生成的android.keystore文件位置和设置的密码
next
next,选择签名生成文件的位置和名称
..

更多相关文章

  1. Android(安卓)文件系统获取root权限
  2. LinuxMint下让adb工具识别android设备
  3. 判断力应用程序安装位置
  4. Android修改程序名称(包名)总结
  5. 断点下载
  6. android-pull方式解析xml文件以及XML文件的序列化
  7. android 实现左右滑动效果
  8. Android的Recovery中font_10x10.h字库文件制作
  9. android R cannot be resolved to a variable

随机推荐

  1. android selector 的不能是空节点
  2. Android 中汉字转化为拼音
  3. Android AsyncTask(异步) 简单样例
  4. android stylet
  5. Android获得屏幕高度和状态栏高度
  6. android扁平化界面设计—在android中使用
  7. android EditText和输入法相关知识总结
  8. Android 判断是否有声音在播放
  9. Android学习:导入工程时报错The import an
  10. 13-4-1 Android中list和Adapter的使用