Android 微信SDK分享功能中的最全過程步驟分析

在前面有一章已經分析過怎麼用官方的demo分享微信信息了,在這裏我就再也不多說,其中關於在本身應用分享說得很簡單,本文做者也是通過一番折騰才弄成功,爲了之後讓你們都少走彎路,決定在這裏從頭至尾介紹怎麼在本身的應用中分享功能android

!!注意:順序不能亂!!api

一、創建本身的應用 TestShareWX微信

(1)應用包名是com.freeson.test,而後創建一個測試Activity,名字爲TestActivity,裏面有一個Button和EditTextapp

(2)運行程序,請記住此時你編譯運行的時候,用的是android默認的debug.keystore簽名的。工具


二、到官網http://open.weixin.qq.com/download/?lang=zh_CN下載開發工具包,解壓,將libammsdk.jar複製到libs中,並將其add到build path中。開發工具


三、到官網http://open.weixin.qq.com/agreement登記你的應用,測試

      這裏省去前面那些基本的操做 ,這裏要注意如下的步驟。ui

     其中有一步是要用個籤微信那名的apk工具對咱們程序進行簽名的,由於咱們的程序已經安裝了,因此直接下載安裝,而後在手機裏面的那個框框輸入包名(我這裏是com.freeson.test,包名不能填錯哦),點擊生成按鈕,這時候會生成一個md5值,將其輸入到登記頁面的框中(此時咱們注意,若是咱們的應用程序尚未安裝到手機中的話,簽名工具會提示沒有找到相關包說明的,這時候咱們有意識到什麼了嗎?)spa

   再接下來輸入包名(我這裏是com.freeson.test,包名不能填錯哦),而後提交審覈。接下來就是等微信的MM進行審覈了。debug


四、在步驟三中咱們已經拿到了appid,按照sdk Demo裏面的提供方法在咱們的TestActivity測試,OK一切成功,是否有感受成就感呢。


五、碼農的日子還真TM難過啊,我加班碼啊碼啊,日子一每天過去,項目開發到最後了,通過測試,一切正常,用正式簽名的文件對來正式打包。而後再測試。OH,my god,What Happened!!!,爲何剛剛還能分享微信的,如今點擊竟然沒有反應了。頓時陷入惶恐中。。。。不要怕,我來告訴你爲何會這樣。


六、其實在第一步的時候,就已經說了,咱們在官網申請的AppId的時候填寫應用程序簽名也是就是用debug.keystore生成的。然而咱們此時在手機裏面運行的apk是用咱們本身生成的簽名(xxx.keystore)進行簽名的,兩個簽名都不一致,因此很理所固然會致使分享失敗。由於微信要對咱們應用進行一個驗證,就是經過這個簽名來認證的。


七、別擔憂,還有補救的方法,用咱們正式那個簽名文件xxx.keystore對程序進行正式的打包,而後安裝到手機中,而後再次運行微信那個簽名apk工具,講咱們的包名輸入到裏面,從新生成一個MD5的簽名,而後到官網http://open.weixin.qq.com/agreement,找到你以前等級那個應用,拉到最後,點擊修改,將剛剛生成的那個簽名輸入到裏面,而後保存從新提交審覈。


八、作完上面的事情以後,所要作的就是等剛剛從新提交的修改經過審覈,要否則你的微信就不能分享成功。


九、某一天,登記的那個應用經過審覈了,運行咱們打包的程序,點擊微信,oh ,yes。發現能分享了,終於能夠喘一口氣了。


備註:

在弄分享過程當中,本文做者也遇到了不少問題,在這裏和你們說說,讓你們之後稍微注意。

一、仍是簽名問題,一個項目,幾我的完成的話,若是你們都是用各自默認的debug.keystore進行運行的話,在debug版本,微信分享功能確定只有在申請的微信appid的那臺機器生產的apk才能正常。

二、關於微信分享信息結果反饋,這個要注意的是如下兩點,要不要確定是不會收到分享反饋的。

     (1)這個Activity的名字必定是WXEntryActivity

     (2)WXEntryActivity這個類必定是創建在 應用包名+wxapi包下(好比上述的工程,這時候包名應該是com.freeson.test.wxapi)



寫到這裏,終於到結束了,本文做者也是折騰了蠻久才明白微信的認證原理的。一句話,理解簽名很重要。

相關文章
相關標籤/搜索