Android整合微信分享功能應用簽名生成方法及分享不生效的問題
阿新 • • 發佈:2019-01-26
通過友盟sdk整合微博、微信、qq等分享功能時,微博和qq很順利,但在做微信整合時一直不成功。主要問題還是之前在微信開放平臺申請建立移動應用時,對應用簽名沒有填寫對,走了很多彎路現總結出來,加深記憶避免後繼彎路。在這裡微信開放平臺的註冊、移動應用的建立就不做說明了,需要注意的是提交申請後騰訊需要一週左右的時間進行稽核,所以有著急上線的同學做好時間管理。
在說具體的簽名生成之前,我們先看看為啥需要簽名。
一、簽名的理解
簽名是Android系統要求的,簽名對於每個應用相當於應用的標識,用簽名來和開發者(或者釋出應用的企業)建立聯絡。比如我們在生成簽名時需要填寫建立者、企業、所在的城市、國家等資訊。一個App開發完成後如果沒有簽名,是不能在Android系統中釋出執行的。在開發過程中如果我們不生成自己的簽名Android studio會自動建立它,生成簽名的祕鑰預設在我們系統中的/Documents
and Settings/使用者名稱 /.android/debug.keystore中。
二、生成簽名的apk應用
1、建立.keystore檔案
a、通過keytool生成,keytool是jdk自帶的工具通過命令列進行建立
其中alias 是別名,validity是有效期,debugmy為檔名稱 b、通過Android studio介面在建立簽名apk時生成
2、生成簽名的apk 可以通過Android studio 提供的介面功能生成,也可以通過keytool、jarsigner、zipalign(簽名後apk的優化,不是必須) 通過Android studio的入口如下,過程不復雜,這裡就不做贅述了。
三、在開發過程中使用自定義的keystore檔案
在build.gradle檔案中新增如下程式碼,其中storeFile 為keystore的檔案位置,本例子是直接放在app目錄下的,可以根據情況指定具體目錄。其它三個引數都是在生成keystore時輸入的資訊。
signingConfigs {
debug {
storeFile file('debugmy.keystore')
storePassword
"android"
keyAlias "androiddebugkey"
keyPassword "android"
}
}
四、在手機或者模擬器中檢視應用簽名
在檢視之前需要生成簽名的apk並安裝應用後,通過檢視簽名工具獲得應用簽名。簽名工具可以去微信或者微博開放平臺下載,需要輸入包名,包名要和AndroidManifest.xml檔案中的package相同。,介面如下
五、在微信開放平臺上填寫或者修改生成的簽名
六、問題總結 博主是按照上述步驟一步步生成keystore檔案、配置build.gradle檔案、下載應用簽名檢視工具並在開放平臺配置應用簽名,但是最後除錯階段一直不成功,在反覆確認appid、secret、應用簽名都無誤的情況也是不成功。後來在網上查了很多資料,也沒有發現問題。最後懷疑是不是騰訊新的簽名生效有時效?帶著疑問去睡覺了,一覺醒來後開啟手機通過微信分享居然成功。時效問題?也許吧,反正是成功了。
其中alias 是別名,validity是有效期,debugmy為檔名稱 b、通過Android studio介面在建立簽名apk時生成
2、生成簽名的apk 可以通過Android studio 提供的介面功能生成,也可以通過keytool、jarsigner、zipalign(簽名後apk的優化,不是必須) 通過Android studio的入口如下,過程不復雜,這裡就不做贅述了。
三、在開發過程中使用自定義的keystore檔案
五、在微信開放平臺上填寫或者修改生成的簽名
六、問題總結 博主是按照上述步驟一步步生成keystore檔案、配置build.gradle檔案、下載應用簽名檢視工具並在開放平臺配置應用簽名,但是最後除錯階段一直不成功,在反覆確認appid、secret、應用簽名都無誤的情況也是不成功。後來在網上查了很多資料,也沒有發現問題。最後懷疑是不是騰訊新的簽名生效有時效?帶著疑問去睡覺了,一覺醒來後開啟手機通過微信分享居然成功。時效問題?也許吧,反正是成功了。