android开发应用签名
1. [代码][Java]代码
1.在自己的项目中打开proguard.cfg,在文件的最后加上:proguard.config=proguard.cfg
这样做是代码混淆。然后进行正常的编译签名后就可以了
生成xxxx.keystore的方法:
1.cd D:\android\jdk568\bin(就是你jdk目录下bin文件的路径)
2.D: (进入上面的目录)
3.输入下面的代码:
keytool -genkey -alias android123.keystore -keyalg RSA -validity 20000 -keystore android123.keystore根据提示填写相应的信息
解释:android123.keystore是你想要生成的产生密钥文件的名字 当让 .keystore 后缀是不能变的
4.保存这是你打开上面的目录就可以看到你的xxxx.keystore
5.jarsigner -verbose -keystore android123.keystore -signedjar Test_signed.apk Test.apk android123.keystore
解释:android123.keystore是你生成密钥的文件名Test_signed.apk 是你的apk文件签署密钥后的文件名字 Test.apk是你将要签署密钥的apk文件名 格式不能变化
出现问题后的解决方法:
在运行这种方式中,我碰到过几种不同的问题:
问题一:jarsigner: 无法打开 jar 文件: ChangeBackgroundWidget.apk
我的解决方法是:将要进行签名的APK放到对应的文件下,如我把要签名的ChangeBackgroundWidget.apk放到JDK的bin文件里。
问题二:jarsigner: 无法对 jar 进行签名: java.util.zip.ZipException: invalid entry comp
ressed size (expected 1598 but got 1622 bytes)
方法一:Android开发网提示这些问题主要是由于资源文件造成的,对于android开发来说应该检查res文件夹中的文件,逐个排查。这个问题可以通过升级系统的JDK和JRE版本来解决。
方法二:这是因为默认给apk做了debug 签名,所以无法做新的签名这时就必须点工程右键->Android Tools ->Export Unsigned Application Package.
或者从AndroidManifest.xml的 Exporting上也是一样的
然后再基于这个导出的unsigned apk做签名,导出的时候最好将其目录选在你之前产生keystore的那个目录下,这样操作起来就方便了。