所谓签名就是给应用附加一个数字证书,表明制作者的身份。
keytool -genkey -v -keystore tom.keystore -alias tom_key -keyalg RSA -validity 1000
证书文件名 证书别名 采用的加密算法是RSA 证书的有效期是1000天
执行命令后,会出现要求设定密码的提示
android 系统签名
build/target/product/security/子目录中存放着4组后缀名为 .x509.pem(公钥) 和.pk8(私钥)的文件。
testkey 用于普通apk
platform 用于系统核心apk
shared 用于Launch、 contacts等重要apk
media 用于系统的多媒体和下载类apk。
如果要发布产品,就要生成公司自己的签名文件,方法是:
cd development/tools
make_key testkey '/C=CN/ST=BJ/L=BJ/O=Google/OU=Android/CN=tom/emailAddress=tom@q.com'
同时要在产品的某个配置文件,如device.mk 中添加变量PRODUCT_DEFAULT_DEV_CERTIFICATE的定义,他的值是新建security 目录的路径
利用build系统进行编译时签名是自动完成的,无需单独执行。build系统签名是用signapk完成的,同样也可以用来给应用签名。
java -jar signapk.jar platform.x509.pem platform.pk8 test.apk test_signed.apk