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文件就会生成在这个目录下,签名的时候我们需要这个文件
C:/Program Files/Java/jdk1.6.0_10/bin>keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore 
输入keystore密码:
再次输入新密码:
您的名字与姓氏是什么?
  [Unknown]:

您的组织单位名称是什么?
  [Unknown]:  
您的组织名称是什么?
  [Unknown]:   
您所在的城市或区域名称是什么?
  [Unknown]:  
您所在的州或省份名称是什么?
  [Unknown]:  
该单位的两字母国家代码是什么
  [Unknown]:  86
CN=。。, OU=。。, O=。。, L=。。, ST=。。, C=86 正确吗?
  [否]:  Y
输入<android.keystore>的主密码(如果和 keystore 密码相同,按回车):

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

然后签名:
Eclipse中,右击需要签名的工程-->android tools-->export signed application package...
出现下面对话框,选择需要签名的工程

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

next

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

finish,搞定啦...

android keystore的生成和使用的更多相关文章

  1. Android:如何生成自己的keystore(zz)

    keystore不设置的话默认使用的是C:\Users\Fly\.Android下面的debug.keystore,每台电脑的都不一样,所以导致了无法安装的情况. 如何生成自己的keystore呢?这 ...

  2. Android KeyStore Stack Buffer Overflow (CVE-2014-3100)

    /* 本文章由 莫灰灰 编写,转载请注明出处. 作者:莫灰灰    邮箱: minzhenfei@163.com */ 1. KeyStore Service 在Android中,/system/bi ...

  3. 新一代开源Android渠道包生成工具Walle

    本文转自:http://tech.meituan.com/android-apk-v2-signature-scheme.html 新一代开源Android渠道包生成工具Walle 新的应用签名方案A ...

  4. Android Keystore 对称-非对称加密

    Android数据加密: Anroid数据加密方式 Android 提供了 KeyStore 等可以长期存储和检索加密密钥的机制,Android KeyStore 系统特别适合于存储加密密钥. “An ...

  5. 从 Secure Element 到 Android KeyStore

    忽如一夜春风来,智能手机来到每个人的手上,我们用它支付.理财.娱乐.工作.记录生活.存储私密信息.乘坐公共交通.开启家门.控制汽车....智能手机是如此的重要,不知天天把它拿在手上的你,是否关心过它是 ...

  6. android studio如何生成签名文件,以及SHA1和MD5值

    一.生成签名文件 1.点击菜单栏中的Build的. 2.弹出窗体,如下图,选中Generate Signed APK,并点击. 3.弹出窗体,如下图. 4.点击Create new…按钮,创建一个签名 ...

  7. 在eclipse中将android工程打包生成apk文件

    1.)生成keystore 按照下面的命令行 在C:\Program Files\Java\jdk1.6.0_10\bin>目录下,输入keytool -genkey -alias androi ...

  8. Android keystore 密码找回

    昨天准备给自己的应用发布一个新版本,在apk打包时,发现之前的用的keystore密码忘了. 蛋碎了一地,我把我所能想到的密码都试了一遍(注:我平常在各个门户网站注册基本上用的都是那几个字母和数字组合 ...

  9. eclipse下Android无法自动生成apk文件怎么办?

    eclipse下Android无法自动生成apk文件怎么办? 现象:创建android工程后,通过手动build/clean或自动build均无法在bin文件夹下生成.apk文件 解决方法:进入win ...

随机推荐

  1. [MongoDB]Python 操作 MongoDB

    from pymongo import MongoClient mc = MongoClient('localhost',27017) db = mc.users db.users.save({'na ...

  2. ZOJ 3213

    /* ZOJ 3213 好吧,看过那种括号表示法后,就崩溃了,实在受不了.情况复杂,写了两天,人也有点傻X了,只能放弃,转而用最小表示法. 最小表示法不难写: 1)首先,要承认路径上有格子不选的情况, ...

  3. 最新版本号cocos2d&#173;2.0&#173;x&#173;2.0.2使用新资源载入策略!不再沿用-hd、-

     前段时间cocos2dx更新了最新版本号cocos2d­2.0­x­2.0.2.也从这个版本号開始对于资源载入与管理都改变了策略. 在之前的载入方式都是通过沿用与cocos2d-iphone一样 ...

  4. 使用Linq 查询数据 构建对象 select new{}

    linq 查询数据 /// <summary> /// 汽车品牌及车型 /// </summary> /// <returns></returns> p ...

  5. Android 实现文字与图片的混排

    在我们的项目中,常常会碰到图片与文字混排的问题.解决这类问题的方法有非常多,本文给出的方法不是唯一的.仅仅有依据实际场景才干找到更适合的方法. 本文主要通过xml布局来实现图片与文字的混排(水平排列) ...

  6. iOS 推送证书的制作

    关于iOS推送证书的P12文件,并非直接从KeyChain导出来的证书文件.而是须要经过openSSL工具制作的.(好在Mac OS 默认就有openSSL命令) 针对不同的Server平台,须要的证 ...

  7. Windows热键注册的底层原理

    要像系统注册一个全局热键,需要用到RegisterHotKey,函数用法如下(MSDN):BOOL RegisterHotKey(                                    ...

  8. 弹出框中选项卡的运用(easyUI)

    先看一下页面效果: 此处有两个知识点:一个是弹出框的运用,一个是选项卡的运用 分析一下该HTML代码,最外面一个div是弹出框的,默认是关闭状态,可通过ID来控制弹出框的开关,该div的样式是easy ...

  9. ECharts-热力图实例

    1.引入echarts.js 2.页面js代码 //用ajax获取所需要的json数据 $.get("../../../mall/queryPageWtSrPost.do", { ...

  10. C/C++中的位运算符

    --------开始-------- 我自己都记不住这是第几次把这几个位运算符搞混了,刚好在刚用过来把这几个位运算符记下来,俗话说的好好记性不如个烂笔头. 运算符: 与           或    ...