apk签名

使用eclipse ADT

在Package Explorer 窗口,右键,选择Android Tools—>Export Signed Application Package 然后按照提示一步一步,生成已签名的apk。通过eclipse也可以导出未签名的APK文件。
Window -> Preferences -> Android –> Build 下显示的是我们默认的调试用的签名数字证书

使用Keytool 和jarsigner工具签名(在jdk/bin目录下)

注:需要输入两次密码,第一次是私钥密码,第二次时私钥别名的密码

eclipse在debug模式下自动签名(无须手动配置)

   在debug模式下用eclipse 的ADT为android签名,只要应用程序在eclipse下开发,系统就会自动给apk签名和优化。

   在Eclipse中Windows > Preferences > Android  > Build可以看到你keysotre的位置;

keytool jarsigner 签名

keytool -genkey -alias android.keystore -keyalg RSA -validity 2000 -keystore android.keystore
-alias 别名 -keyalg 加密方式 -validity 有效期 -keystore 签名名称

jarsigner -verbose -keystore android.keystore -signedjar signedapk.apk unsignedapk.apk android.keystore
jarsigner -verbose -keystore app.keystore -signedjar app_signed.apk app.apk alias_name

查看签名

jarsigner -verify app_signed.apk

查看是否签名,如果已经签名会打印 “jar verified”.

jarsigner -verify -verbose -certs app_signed.apk

查看签名详细信息。

通过zipalign工具进行优化apk(android自带的工具,./build/tools/zipalign)

zipalign -v 4 app_signed.apk androidres.apk 对apk优化

zipalign -c -v 4 androidres.apk 查看apk是否经过优化

在源码下进行签名

development/tools/make_key

生成公钥 openssl genrsa -3 -out testkey.pem 2048
转换成X509证书格式 openssl req -new -x509 -key testkey.pem -out testkey.x509.pem -days 10000 -subj ‘/C=CN/ST=JiangSu/L=NanJing/O=Company/OU=Department/CN=Your Name/emailAddress=YourE-mailAddress’

生成私钥 openssl pkcs8 -in testkey.pem -topk8 -outform DER -out testkey.pk8 -nocrypt

使用默认的testkey密钥对

对apk签名
signapk publickey.x509.pem privatekey.pk8 input.apk out.apk

out/host/linux-x86/framework/signapk.jar

development/tools$ java -jar ../../out/host/linux-x86/framework/signapk.jar testkey.x509.pem testkey.pk8 ~/Desktop/71610-third/cc.apk out.apk

platform.x509.pem platform.pk8 位于 build/target/product/security/platform.x509.pem, platform.pk8

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值