转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/105561341

本文出自【赵彦军的博客】

GooglePlay 创建 App 的时候,一不小心勾选了 谷歌签名保护计划 ,就非常坑,为什么非常坑,因为这个一旦加入,就无法退出,后面的坑就后患无穷。

这里普及一下 谷歌签名保护计划:

简单来说,就是apk上传到 GooglePlay 后,GooglePlay 会替换你的签名,实际上用户下载的 APK 的签名并不是你最初上传的签名,而是 GooglePlay 自己的签名,这个签名存放在 Google 服务器,我们是不能下载的。

说到这里,大家就明白了,我前面说的坑是什么意思?

因为 线上版本 和 本地版本 的签名不一致,会导致 facebook 登录失败,google 登录失败、微信登录失败 。

那么怎么才能把 GooglePlay 的签名换成我们自己的签名呢? 是有办法的。

解决方案

第一步:应用签名菜单下,请求升级密钥



第二步: 选择升级秘钥的原因,你可以选择第二个 "我需要针对多个应用或此应用的预安装版本使用同一秘钥"



第三步:下载工具(pepk.jar )生成签名压缩包,并上传即可。注意,此签名一个应用只能更新一次,只有一次机会哦



在终端中执行

java -jar pepk.jar --keystore=foo.keystore --alias=foo --output=encrypted_private_key_path --encryptionkey=eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b656cd48b9de6a

注意:要把 foo.keystore 换成你的签名,把 foo 换成你自己的 alias 。

执行完命令,会在本地生成 output.zip , 然后上传就可以了。

提交成功后可以看到谷歌的签名已经替换成想要的了。与上传签名一致。如图所示

总结

终于完美的解决了我们的问题,经过这一波操作,本地签名和 GooglePlay 签名已经保持一直了。

Android Google Play app signing 最终完美解决方式的更多相关文章

  1. How to enable Google Play App Signing

    how to enable google play app signing  ------------------------------------------------------------- ...

  2. VC、IE、ASP环境下打印、预备的完美解决方式

    一种基于XML的报表开发工具,它支持从设计报表.调用API打印.预览,能支持分布式报表.方便报表的存储.转发. 在报表中能嵌入VBScript,能方便地訪问VB,VC的变量,能訪问COM组件.ADO等 ...

  3. 安卓APP载入HTML5页面解决方式总结

    因为H5页面在移动端的兼容性及扩展性方面体现出来的优势,又兼得APP中植入H5页面相应用的灵活性有大大的提升(如活动.游戏的更新等).APP开发不可避免的须要载入一些H5页面.但安卓client对网页 ...

  4. Eclipse出现"Running Android Lint has encountered a problem"解决方式

    近期打开Eclipse的时候,总是发生这种一个错误:"Running Android Lint has encountered a problem".截图例如以下: . 可是Ecl ...

  5. Matplot中文乱码完美解决方式

    一.改动matplotlibrc文件 (永久解决方式) 1. 定位matplotlibrc文件 该文件位于[python_install_dir]\Lib\site-packages\matplotl ...

  6. 关于android 使用bitmap的OOM心得和解决方式

    android开发,从2010年開始学习到如今的独立完毕一个app,这漫长的四年,已经经历了非常多次bug的折磨.无数次的加班训练.然而,自以为自己已经比較了解android了,却近期在一个项目上.由 ...

  7. Android中不同方向嵌套滑动的解决方式(ListView为样例)

    前言: 就像手机QQ的聊天消息列表.一个纵向滑动的ListView列举全部消息,但每一条消息能够横向滑动. 而默认情况下,仅仅能有一个地方消化处理触摸事件,要么ListView吃掉这个事件.要么子It ...

  8. android sudio 执行的中文是乱码解决方式

    1.File-->Setings-->查找file encodings 例如以下图 2.将 IDE Encoding .Project Encoding.Default encoding ...

  9. Android真机调试不打印日志解决方式

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/RowandJJ/article/details/24543459  1.在拨号界面输入:*#*#28 ...

随机推荐

  1. 关于BitmapImage EndInit()时报值不在范围内的异常

    值不在预期的范围内.ArgumentException 在 System.Windows.Media.ColorContext.GetColorContextsHelper(GetColorConte ...

  2. Spring扩展:替换IOC容器中的Bean组件 -- @Replace注解

    1.背景:     工作中是否有这样的场景?一个软件系统会同时有多个不同版本部署,比如我现在做的IM系统,同时又作为公司的技术输出给其他银行,不同的银行有自己的业务实现(比如登陆验证.用户信息查询等) ...

  3. JavaScript 模式》读书笔记(3)— 字面量和构造函数3

    这是字面量和构造函数的最后一篇内容,其中包括了JSON.正则表达式字面量,基本值类型包装器等知识点.也是十分重要的哦. 五.JSON JSON是指JavaScript对象表示以及数据传输格式.它是一种 ...

  4. Scapy编写ICMP扫描脚本

    使用Scapy模块编写ICMP扫描脚本: from scapy.all import * import optparse import threading import os def scan(ipt ...

  5. python使用pip安装模块出现ReadTimeoutError: HTTPSConnectionPool的解决方法

    今天使用pip安装第三库时,有时会报错: pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='file ...

  6. idea的ktorm框架代码生成器插件

    *:first-child { margin-top: 0 !important; } .markdown-body>*:last-child { margin-bottom: 0 !impor ...

  7. CF codeforces A. New Year Garland【Educational Codeforces Round 79 (Rated for Div. 2)】

    A. New Year Garland time limit per test 1 second memory limit per test 256 megabytes input standard ...

  8. 在Windows中安装OpenCV-Python |四

    目标 在本教程中 我们将学习在你的Windows系统中设置OpenCV-Python. 下面的步骤在装有Visual Studio 2010和Visual Studio 2012的Windows 7- ...

  9. TensorFlow系列专题(三):深度学习简介

    一.深度学习的发展历程 深度学习的起源阶段 深度学习的发展阶段 深度学习的爆发阶段 二.深度学习的应用 自然语言处理 语音识别与合成 图像领域 三.参考文献   一.深度学习的发展历程 作为机器学习最 ...

  10. Excel中减少两边的字符

    从右边减少几个字符: =LEFT(A1,LEN(A1)-4)