Android中的应用认领总结

作者:junjie 时间:2022-03-12 02:54:05 

最近公司的一款产品提交国内市场,发现有些国内市场提示需要进行应用认领。原因就是别人(或者市场抓取)已经在我们之前将这个应用提交到了该市场。认领成功后,这个应用就重回你的怀抱了,其实认领很简单,这里讲到的自然是对未签名的包进行签名。由于这样的操作细小琐屑,这样更需要记录一下,免得以后麻烦。

如何认领

1.一般的就是市场提供一个未签名的apk包,认领方进行签名后,上传即可认领成功。
2.另一种就是提供公司证明,这个我们不讲,也没什么可以讲。

通常情况下认领都会有对一个未签名的apk包签名认证这种方式,因为签名是软件发布商所独有的,通过对比测试需认领的包的签名和刚签过名的apk包是否一致,如果一致就认领成功,否则失败。

对未签名包签名


jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore your_keystore  -storepass your_storepass -keypass your_keypass -signedjar path_of_signed_apk  path_of_unsigned_apk your_alias


需要替换的值

1.your_key_store keystore文件路径
2.your_storepass store密码
3.your_keypass key密码
4.path_of_signed_apk 签名后apk保存的目录
5.path_of_unsigned_apk 待签名的apk包
6.your_alias keystore中的别名

注意上面的签名算法sigalg 使用SHA1withRSA或者MD5withRSA都可以。

验证签名


jarsigner -verify -certs -verbose your_app.apk

比如我们验证百度金融的apk,会得到类似这样的结果


19:23 $ jarsigner -verify -certs -verbose BaiduFinance.apk | more

s      61679 Fri Nov 14 19:50:16 CST 2014 META-INF/MANIFEST.MF

      X.509, CN=Baidu, OU=Baidu Inc., O=Baidu Inc., L=Beijing, ST=Beijing, C=CN
      [certificate is valid from 12/6/13 10:19 AM to 11/24/63 10:19 AM]
      [CertPath not validated: Path does not chain with any of the trust anchors]

       61800 Fri Nov 14 19:50:16 CST 2014 META-INF/MCO_BAID.SF
         936 Fri Nov 14 19:50:16 CST 2014 META-INF/MCO_BAID.RSA
sm      2304 Fri Nov 14 19:49:32 CST 2014 assets/mean/data_mean_24_bank_card

疑难问题


No -tsa or -tsacert is provided and this jar is not timestamped

在签名时加入下面的选项


jarsigner -tsa http://timestamp.digicert.com

Windows无法打开文件

有些Windows工具无法打开签名后的apk,如果你的签名没有错误,并且验证过,这种情况请忽略。

签名认领失败

如果签名认领失败的话,请检查目前线上的包是否进行了二次打包被别人篡改了签名,如果是的话,需要进行商务上的沟通来解决了。

标签:Android,应用认领
0
投稿

猜你喜欢

  • Android滑动冲突的完美解决方案

    2021-08-12 16:41:34
  • Maven继承与聚合详解及作用介绍

    2023-03-08 00:14:36
  • Javaweb会话跟踪技术Cookie和Session的具体使用

    2022-06-24 21:16:33
  • java启动参数之谜的排查过程

    2023-02-18 19:47:50
  • springboot实现配置两个parent的方法

    2022-04-05 07:54:43
  • java Semaphore共享锁实现原理解析

    2021-11-02 23:12:38
  • 详解Java执行groovy脚本的两种方式

    2021-05-28 09:23:27
  • Android 仿支付宝中的余额宝收益进度条

    2022-11-23 03:58:33
  • SpringMVC 参数绑定相关知识总结

    2022-06-05 12:50:54
  • 在Spring Boot2中使用CompletableFuture的方法教程

    2022-09-27 14:18:51
  • 解决springboot 部署到 weblogic 中 jar 包冲突的问题

    2021-06-06 11:32:36
  • Flyway详解及Springboot集成Flyway的详细教程

    2022-09-21 10:37:49
  • Springboot整合Freemarker的实现详细过程

    2023-01-23 22:09:57
  • C#后端接收form-data,创建实体类教程

    2023-08-23 21:07:57
  • SpringBoot扫描不到Controller的解决方案

    2022-07-19 02:05:07
  • C# 骑士飞行棋的源码(分享)

    2021-10-11 02:54:56
  • 关于@RequestBody和@RequestParam注解的使用详解

    2023-01-20 09:08:20
  • 谈一谈Android内存泄漏问题

    2023-01-29 23:23:54
  • Android webView字体突然变小的原因及解决

    2022-01-02 23:39:08
  • SpringBoot微信消息接口配置详解

    2023-08-23 09:51:21
  • asp之家 软件编程 m.aspxhome.com