zoukankan      html  css  js  c++  java
  • Android调试大法 自定义IDE默认签名文件==>微信支付、微信登录、微信分享,debug时调试通过,release时调不起微信

    转载地址:http://blog.yanzhenjie.com

    Android调试大法之自定义IDE默认签名文件,你是否为调试第三方SDK时debug签名和release签名发生冲突而烦恼?你是否在debug时第三方功能测试通过,而release时无法使用?

    如果你没有遇到我说的问题,那么我举几个例子。

    1. 微信支付、微信登录、微信分享,debug时调试通过,release时调不起微信? 
    2. 百度地图、高德地图,要不停的切换debug签名、release签名的hash值很麻烦?

    上面的这些问题归根结底原因是我们开发的时候直接运行,使用的是默认的debug.keystore这个签名文件,而我们打包后正式环境用的是我们自定义的xxx.keystorexxx.jks等签名文件,两个文件的hash值不同。

    而一般第三方的SDK都是通过识别我们应用的包名和签名的hash来判断是否在他们平台注册过,是否是官方正版应用等,如果验证不通过,自然不能调起第三方的的app了。

    今天的文章内容不多,只需要3分钟就可以看完,同时保证可以解决上述因为签名引起的问题。


    解决问题的原理

    原理就是把我们正式的签名文件的keystore密码、aliasalias密码都修改成与Android默认签名debug.keystore的相同,并且在EclipseAndroidStudio中指定我们默认debug签名文件路径,此时当我们直接运行项目时ide将直接用我们指定的这个签名文件,此时我们debug时的签名和正式发布的签名一致了,所以在调试的时候什么微信、第三方支付都不存在签名错误等云云。(重点:签名文件和密码没有关系!!! 需要去了解签名的原理

    Android默认签名文件debug.keystore的keystore密码、alias、alias密码分别是:

    • keystore密码:android
    • alias:androiddebugkey
    • alias密码:android

    所以接下来修改正式签名的这个三个属性。

    修改keystore密码 alias alias密码

    特别注意:修改签名文件密码、alias、alias密码相当于破坏了这个文件,所以我们修改的时候一定要copy一个签名文件出来,然后修改这个copy出来的文件的上述三个属性。

    准备:进入debug.keystore 当前目录下(mac,Windows一样):

    1: 修改keystore密码:   keytool -storepasswd -keystore debug.keystore 
    2: 修改keystorealias: keytool -changealias -keystore debug.keystore -alias demokey.keystore -destalias androiddebugkey

    3: 修改alias的密码:  keytool -keypasswd -keystore debug.keystore -alias androiddebugkey 

    完成! 
    备注相关信息都是我本地的。

    个人开发者如果想体验微信登录功能,有一个变通的版本,就是用  ShareSDK 里面带的appid 和key,来做你的测试 :) 

  • 相关阅读:
    7.12函数(四)
    7.11函数(三)
    7.10函数(二)
    7.9函数(一)
    7.8文件处理补充及函数简介
    7.5字符编码及文件处理
    7.4数据类型及内置方法(二)
    Android-------- AlertDialog中EditText无法弹出输入法的解决
    Android-----输入法的显示和隐藏
    Android——ExpandableListView事件拦截
  • 原文地址:https://www.cnblogs.com/porter/p/6364633.html
Copyright © 2011-2022 走看看