腾讯开放平台的应用认领,问题和命令操作记录(MacOS下,Win同理)

腾讯开放平台的应用接入,可以接入应用宝、QQ物联等平台,为开发者提供发布和推广应用的渠道。

近日,笔者在腾讯开放平台上新增一个应用,出现已有相同应用存在的提示,并且平台提示进行应用认领,笔者在应用宝市场对要提交的应用进行搜索,不管中英文、长短词都搜索不到,奇怪之下,问了下官方,腾讯开放平台服务团队回复:


在腾讯开放平台上进行应用认领,如下界面所示:

在第3步,需要下载一个空apk包“tap_unsign.apk”,并且用你要发布应用的签名为这个“tap_unsign.apk”签名,然后在第4步上传回腾讯开放平台,以作验证。(应用认领这招倒是可以杜绝不少盗用和恶意移植的路子)

在第3步,官方页面给了命令行打签名的例子:

如何签名:

jarsgner-verbose-keystore[keystorePath]-singnedjar [apkOut] [apkln] [alias]

jarsgner命令格式:-verbose输出详细信息-keystore密钥库位置-alias demo.keystore 别名 demo.keystore
-keyalg RSA 使用RSA算法对签名加密
-validity 40000 有效期限4000天
-keystore demo.keystore

D:\>jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore
/* 说明:-verbose 输出签名的详细信息 */
例如

D:\>jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore


(注:一键签名的工具很多,腾讯自己也有:http://legu.qcloud.com/tool/index)


笔者工作环境是MacOS,对于jarsigner命令在终端中直接可用,如果有问题,可cd到jdk目录下同名目录再执行命令。Windows环境下同理,注意路径即可。

假如你的签名文件是:mysign.keystore,

第一次命令如下:
jarsigner -verbose -keystore /Users/xxx/Developer/Android/mysign.keystore -signedjar /Users/xxx/Downloads/tap_signed.apk /Users/long/Downloads/tap_unsign.apk mysign.keystore

MacOS终端执行后,问题来了:
输入密钥库的密码短语:
jarsigner: 找不到mysign.keystore的证书链。mysign.keystore必须引用包含私有密钥和相应的公共密钥证书链的有效密钥库密钥条目。

问题原因:-signedjar后面参数格式应该是:参数1=签名后包完整路径;参数2=原始包完整路径;参数3=你的签名中的别名,即Alias。


第二次命令如下:
jarsigner -verbose -keystore /Users/xxx/Developer/Android/mysign.keystore -signedjar /Users/xxx/Downloads/tap_signed.apk /Users/xxx/Downloads/tap_unsign.apk this is my alias

MacOS终端执行后,问题来了:
只能指定一个别名

那这样执行命令如何:
jarsigner -verbose -keystore /Users/xxx/Developer/Android/mysign.keystore -signedjar /Users/xxx/Downloads/tap_signed.apk /Users/xxx/Downloads/tap_unsign.apk this

结果是更糟:
输入密钥库的密码短语:
jarsigner 错误: java.lang.RuntimeException: 密钥库加载: Keystore was tampered with, or password was incorrect


问题原因:命令行中空格就相当于断句了,如果你的参数字符串中有空格,在命令行中用单引号或双引号包起来就可以正常执行了。大哭


第三次命令如下:
jarsigner -verbose -keystore /Users/xxx/Developer/Android/mysign.keystore -signedjar /Users/xxx/Downloads/tap_signed.apk /Users/xxx/Downloads/tap_unsign.apk "this is my alias"

然后回车,终端就要求你输入密码,这次就成功完成签名打包了。


也就是说jarsigner命令的简单格式为:
jarsigner -verbose -keystore 签名文件的完整路径 -signedjar 签名后apk包的完整路径 原始apk包的完整路径 "不怕空格的别名"

---------------- END ----------------

顺便说一句,如果按照腾讯页面向导提交签名验证包,最后系统发消息提示你认领未通过审核,涉嫌侵权之类的,其实还可以走人工认领那条路,腾讯规定系统自动验证认领不通过后,可以走人工认领。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值