关于腾讯应用管理中心,认领应用
腾讯原文:
1、提交需认领应用的PackageName。
2、下载应用中心提供的未签名包,并将与待认领应用一致的签名写入该包中。
3、上传完成签名的安装包进行校验。
下载待签名的空包
下载 下载完成后,请将需认领应用的MD5签名写入空白包中
如何签名
- jarsigner -verbose -keystore [keystorePath] -signedjar [apkOut] [apkIn] [alias]
jarsigner命令格式:-verbose输出详细信息 -keystore密钥库位置 -signedjar要生成的文件 要签名的文件 密钥库文件
keystorePath参数代表keyStore的绝对路径,如D:\keystore
apkOut参数代表签名后的apk路径,如D:\signed.apk
apkin参数代表在腾讯应用中心下载的未签名apk,默认名称为tap_unsign.apk
alias参数代表签名用的整数名称(创建keyStore时所填写),如timdong
我写的是如下的:
jarsigner -verbose -keystore E:\key\xxx.keystore -signedjar E:\normal.apk E:\app\tap_unsign.apk demo_alias
路径尽量要短些,我第一次是放在桌面上的文件夹中,结果不可以,改成以上的就可以了
arsigner这个exe在C:\Program Files\Java\jdk1.7.0_10\bin文件夹下。所以要用cmd进入这个文件夹
然后使用下面命令
jarsigner -verbose -keystore E:\key\xxx.keystore -signedjar E:\normal.apk E:\app\tap_unsign.apk demo_alias
我遇到一个奇葩问题是:
公司的apk签名证书是没有后缀名.keystore,只有这个android_star_key的签名证书。别名是android_key
这种问题要就不要加后缀名了,如下。
jarsigner -verbose -keystore G:\android_star_key -signedjar G:\signed.apk G:\tap_unsign.apk android_key
签名成功可能会出现警告: 未提供 -tsa 或 -tsacert, 此 jar 没有时间戳。如果没有时间戳, 则在签名者证书的到期
在给生成的apk签名,jdk1.6升级到jdk1.7会出现以下问题:
1.明明签名了,并且签名检查apk中也有签名文件,但是安装的时候就是提示安装失败,没有签名,解决办法
将签名命令上加一段话: -digestalg SHA1 -sigalg MD5withRSA 加上后就可以了
旧:jarsigner -keystore test.keystore -storepass test123 -signedjar signed_client.apk client.apk test
新:jarsigner -digestalg SHA1 -sigalg MD5withRSA -keystore test.keystore -storepass test123 -signedjar signed_client.apk client.apk test
这样签名完成后就可以安装成功了。
2.以上方法可以解决签名后不能安装成功的问题,但是会发现有警告:
警告:
未提供 -tsa 或 -tsacert, 此 jar 没有时间戳。如果没有时间戳, 则在签名者证书的到期
日期 (2063-07-18) 或以后的任何撤销日期之后, 用户可能无法验证此 jar。
入有这个警告的话本身对签名没有影响,但是总感觉怪怪的,要想去掉这个警告只要在命令上再加上 -tsa https://timestamp.geotrust.com/tsa 就可以了
最终命令是:
jarsigner -digestalg SHA1 -sigalg MD5withRSA -tsa https://timestamp.geotrust.com/tsa -keystore test.keystore -storepass test123 -signedjar signed_client.apk client.apk test