最新版本微信SDK Android微信登錄接入之華爲手機驚天巨坑填坑方案

這個問題很憂傷,折騰了2個月,終於找到了本質的原因。

首先描述一下我們項目遇到的現象,供遇上的朋友們參考。

1、華爲Mate 20 Mate30出現問題,其他機型沒有用戶彙報

2、華爲Mate30中,同一款機型,有的機型可以,有的機型不可以。

3、同一個手機,上午可以,下午不可以。(在未卸載APP且APP也沒有更新的情況下)


我想當大家看到第三個現象的時候,有沒有一種要****的感覺。

這裏要感謝親切的微信SDK官方文檔,文檔告訴我們兩件事

1、Android 8.0以上機制修改,請大家儘快升級微信SDK,舊SDK信息將會逐步收回

2、國內外廠商要求Android APK提交時,targetSdkVersion不得低於26,也就是Android 8.0

 

微信官方SDK接入文檔告訴我們,只需要加入下面的依賴庫就可以了

implementation 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+

但是,Mate30確實出現了上面的現象。於是我找了很多朋友的APK來測試,發現別人的都可以。對比後發現,別人的配置是下面這樣的。

implementation 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:1.0.2'

果斷換上後,發現還是不對。正當我想哭的時候,有文章提到微信會緩存授權信息。

於是我卸載了微信重新安裝,再次登錄。成功了。


綜上所述,接入新版SDK的步驟

1、添加  implementation 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:1.0.2' 依賴

2、代碼該怎麼寫就怎麼寫

3、如果之前試過不能登錄的手機,卸載微信或者換一個微信賬號再試

4、createWXAPI最後一個參數給true或者false目前並未發現差異

5、Android Studio打包的時候,簽名可以只選V1,也可以V1和V2一起選。(不能單獨選V2,選只V2,低於Android 7.0的手機安裝不了)

至於華爲一會兒可以,一會兒不可以的問題,天知道。 但是換成新版本SDK後,就穩定了。 我猜是微信授權服務器的鍋。

發佈了233 篇原創文章 · 獲贊 546 · 訪問量 119萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章