本文章部分内容转摘于http://www.cppblog.com/fwxjj/archive/2010/05/24/116208.html,如感兴趣请移步。
- 如何用命令的方式生成一个keystore文件
- 在Eclipse中如何使用已存在的keystore文件打包项目
- 注意事项
首先,Android程序打包需要一个keystore,如果已经有了的话可以跳过这一步了。这里我是用命令的方式创建一个keystore:
在cmd环境下,进入到jdk的bin目录(.keystore文件会生成在这个目录里)。如图:
输入C:\Program Files\Java\jdk1.7.0_80\bin>keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore
(.keystore的名字可以根据自己的需求来取,我这里取的是android),如图:
其中参数-genkey意思是产生密钥,-alias意思是keystore的别名,-keyalg意思是使用哪种算法加密,常用的是RSA,-validity意思是证书的有效天数。回车过后就会出现”输入密钥库口令:”的提示,也就是给.keystore文件创建一个密码,在打包签名的时候会用到这个密码,所以最好用记事本保存一下,以免遗忘。注意:在输入密码时是没有回显的,密码长度至少为6个字符,并且Tab、空格都属于密码内容;输完密码按回车会提示”再次输入新口令:”,如图:
接下来会提示”您的名字与姓氏是什么?”、”您的组织单位名称是什么?”、”您的组织名称是什么?”、”您所在的城市或区域名称是什么?”、”您所在的省/市/自治区名称是什么?”、”该单位的双字母国家/地区代码是什么?”,这些问题根据自身情况输入后回车即可。最后会提示以上输入是否正确?输入Y表示正确。如图:
输入Y后回车会提示”输入密钥口令(如果和密钥口令相同,按回车)”,如图:
直接按回车,android.keystore文件就创建完毕了。
接下来就是使用我们刚刚创建好的keystore为项目进行签名了。
在Eclipse中,右击需要签名的工程–>android tools–>Export Signed Application Package…
如图:
选择后会出现下面这个对话框,如图:
直接next,出现下面这个对话框,选择”Use existing keystore”(使用已存在的keystore),点击”Browse..”找到我们刚刚用命令生成的keystore文件,并输入keystore文件的密钥口令。如图:
点击next进入下面这个对话框,选择”Use existing key”项,再次输入keystore文件的密钥口令,如图:
next后出现下面这个对话框,选择APK生成的位置和名称后,点击Finish就OK了!如图:
注意事项
- 如果签名的时候出现了android.keystore 拒绝访问问题,解决方法是不要直接运行cmd,而是找到cmd.exe,右键点击“以管理员运行”。