安卓的apk可以有两种方式进行生成key和用key进行签名
第一种,使用安卓自带的工具:
1,生成key的工具make_key文件位置:
development/tools/make_key
执行指令:
./make_key releasekey '/C=CN/ST=ShangHai/L=ShangHai/O=Lezone/OU=SW/CN=SW/emailAddress=sw@yeezonetech.com'./make_key media '/C=CN/ST=ShangHai/L=ShangHai/O=Lezone/OU=SW/CN=SW/emailAddress=sw@yeezonetech.com'
./make_key shared '/C=CN/ST=ShangHai/L=ShangHai/O=Lezone/OU=SW/CN=SW/emailAddress=sw@yeezonetech.com'
./make_key platform '/C=CN/ST=ShangHai/L=ShangHai/O=Lezone/OU=SW/CN=SW/emailAddress=sw@yeezonetech.com'
C ---> Country Name (2 letter code)
ST ---> State or Province Name (full name)
L ---> Locality Name (eg, city)
O ---> Organization Name (eg, company)
OU ---> Organizational Unit Name (eg, section)
CN ---> Common Name (eg, your name or your server’s hostname)
emailAddress ---> Contact email address
2,签名
java -Xmx2048m -jar out/host/linux-x86/framework/signapk.jar -w device/$(PROJECT)/keys/releasekey.x509.pem device/$(PROJECT)/keys/testkey.pk8 A.apk A_signed.apk-------------------------------------------------------------------------------------------------------------------------------------------------------
第二种,使用JAVA工具
1,生成key的工具keytool
指令:
keytool -genkey -alias asaiAndroid.keystore -keyalg RSA -validity 20000 -keystore asaiAndroid.keystore按回车后首先会提示你输入的密码,密码在签名的时候需要输入
之后会依次叫你输入姓名、组织单位、组织名称、城市区域、省份名称、国家代码(CN)
2,签名
jarsigner -verbose -keystore asaiAndroid.keystore -signedjar A_signed.apk A.apk asaiAndroid.keystore
-------------------------------------------------------------------------------------------------------------------------------------------------------
zipalign
zipalign -v 4 app_signed.apk androidres.apk 对apk优化
zipalign -c -v 4 androidres.apk 查看apk是否经过优化
参考地址:
http://www.cnblogs.com/leaven/p/3860583.html
http://www.cnblogs.com/wanqieddy/p/3556060.html
http://blog.csdn.net/feiyangxiaomi/article/details/40298155