开发工具:hbuilder>云打包
打包上线的时候需要有json文件的配置就不在此赘述,此处主要记录新版本打包上线更新
很多开发者第一版本打包不进行签名私有证书等等的设置,但是在进行后期版本更新的时候会有用到,比如百度移动应用开发平台就需要有签名,这就是经历的坑,慢慢填。
签名的生成
- 安装java的jdk付个网址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
- 开始使用keytool生成签名:
- 生成keystore 文件,windows下 win+r,输入命令cmd ,
- 然后输入:cd C:\ProgramFiles\Java\jdk1.7.0\bin 按回车 (进入到keytool的所在目录),
- 输入 keytool -genkey -alias abc.keystore 命令(此处 abc.keystore 的abc可以自己命名区分大小写,这就是你的签名证书文件)按下回车根据提示会有密钥的输入,一般建议20位数字,一定要记住 一定要记住 一定要记住,后面要用到的,没有回显,输完后直接按回车,根据提示输完信息,最后会有信息确认,输入 Y 按回车,这时在keytool所在目录就会生成一个 abc.keystore 的文件。
接下来就可以给我们的应用apk文件行进签名了。
给apk 文件添加签名(用jarsigner签名apk)
- 先将需要添加签名的apk放到 C:\ProgramFiles\Java\jdk1.7.0\bin 下 如: myapp.apk
- win+r,输入命令cmd,输入 cd /d C:\Program Files\Java\jdk1.7.0\bin 回车
- 输入 jarsigner -verbose -keystore abc.keystore -signedjar myappx.apk myapp.apk abc.keystore 回车
(myappx.apk 是签名后的apk) - 输入上面一定要记住的密钥,就ok了,apk签名成功。
引用网络上的操作方法:
//默认生成的APK文件是debug签名的,如果要发布到android Market那么需要另外用keytool和jarsigner来给你的APK签名(主要是设定时间和所有者).
按照常见步骤
-
keytool -genkey -v -keystore android.keystore -alias android.keystore -keyalg RSA -validity 20000
-
jarsigner -verbose -keystore android.keystore -signedjar android_signed.apk android.apk android.keystore
刚开始遇到一个错误:
jarsigner: 无法对 jar 进行签名:java.util.zip.ZipException:invalid entry compressed size (expected 639 but got 642 bytes)
这是因为默认给apk做了debug 签名,所以无法做新的签名
这时就必须点工程右键->android Tools ->Export Unsigned Application Package.
或者从androidManifest.xml的 Exporting上也是一样的
然后再基于这个导出的unsigned apk做签名,导出的时候最好将其目录选在你之前产生keystore的那个目录下,这样操作起来就方便了。
转载请注明:EZLOST » 安卓移动应用打包上线那些事儿