微信分享不成功,不能正常調起微信
1:簽名文件不一致
1:我們平時運行項目使用的是debug模式,使用命令在(stodio中的terminal, keytool -v -list -keystore 簽名文件路徑)中,生成的也是debug模式下的簽名文件
2:因為我們的分享需要在開發平台注冊MD5的簽名,但是我們的微信開發平台的配置的MD5的簽名是release(正式包)的簽名
總結:由於這個原因,導致簽名文件不一致(一個正式,一個測試),導致微信的分享不能正常吊起來,這是比較正常的原因
解決:在build gradle中進行配置,配置同樣的簽名文件地址
2:UmengTool.getSignature(this);(可以打印簽名,和用微信工具生成的簽名是一樣的)
signingConfigs { debug { keyAlias 'android' keyPassword 'android' storeFile file('jks文件的路徑') storePassword 'android' } release { keyAlias 'android' keyPassword 'android' storeFile file('jks文件的路徑') storePassword 'android' } }
這樣可以使測試符和正式符的簽名文件一致。可以使用微信的簽名工具(https://open.weixin.qq.com/cgi-bin/readtemplate?t=resource/app_download_android_tmpl&lang=zh_C,下載路徑)和studio的命令生成的簽名比較一下,是否一樣(事實是一樣的)。
項目總結:但是我們的項目在運行過程中出現了一個奇怪的問題,使用命令行和簽名工具生成的MD5簽名不一致,但是我們的build gradle文件中進行配置了同樣的簽名文件的路徑,導致微信不能正常調起。經過仔細檢查,發現我們的命令在執行的過程中出現了兩個MD5的簽名,但是兩個簽名並不一樣。但是有一個是和簽名工具生成是一樣的,而我們剛好在微信開發平台注冊的時候用的是不一樣的那個。從新改正一下就好使了。