編輯:關於Android編程
前言
最近遇到一個項目的應用要上微信登錄,大家都知道微信登錄是需要開放平台上申請的,在微信開發平台創建移動應用後,需要填寫:
需要填寫的內容
問題
這裡的應用簽名是keystore
的證書的md5,但是微信的這個只有一個填寫輸入框,不像百度地圖、高德地圖那樣,有線上的SHA1和開發調試的SHA1兩種,那這就糾結了,在開發運行的時候AS IDE默認使用的簽名keystore
是系統的 debug.keystore
,系統的和自己項目線上的keystore
的MD5、SHA1肯定是不一樣的,那麼問題來了,要怎麼統一用線上的,又不影響開發調試。
解決方案
既然不能同時使用線上和系統debug
的keystore
,那我們就使用同一個,只要確保MD5、SHA1一致就ok了,微信上我們繼續使用線上的MD5,百度地圖、高端地圖等第三方的一些服務把線上和開發調試的SHA1都使用線上keystore
的:
命令行進入線上keystore
的文件所在目錄,然後輸入如下命令,即可查看簽名。
keytool -list -v -keystore app-release.jks
復制一份線上的keystore
文件在同一個文件夾下:
修改這個keystore
文件的別名alias
,改成androiddebugkey
(系統的debug.keystore
的別名就是這個,如果不是這個別名,調試運行的時候會編譯不通過,提示需要使用這樣的alias),使用如下命令來修改:
keytool -changealias -keystore ishopping-debug.jks -alias ishopping -destalias androiddebugkey
-alias
後面是原來的別名, -destalias
後面是新的別名,記住一定要用androiddebugkey
作為別名。
修改調試用keystore
的storepasswd
和keypasswd
的口令為“android”(也需要和系統的debug.keystore
的一樣都使用這個口令),使用如下命令來修改:
// 修改密鑰口令 keytool -keypasswd -keystore ishopping-debug.jks -alias androiddebugkey // 修改密鑰庫口令 keytool -storepasswd -keystore ishopping-debug.jks
每一行命令,後都需要輸入原有的密鑰庫和密鑰口令,然後再輸入新的口令:
修改口令
然後使用開頭的查看簽名MD5和SHA1的命令來查看新的調試開發用的keystore
文件,看看簽名是不是和線上的一樣。
最後在gradle裡面配置:
signingConfigs { release { // 此處是相對路徑,可以在module app下新建一個key文件夾把keystore文件拷貝進去 storeFile file('key/ishopping.jks') } debug { storeFile file('key/ishopping-debug.jks') } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.release } debug { signingConfig signingConfigs.debug } }
配置完後,重新同步gradle,然後重新構建工程,點擊Android Studio菜單欄Build -- Rebuild Project,新的證書才會生效。(只要是替換修改簽名證書,都需要重新構建工程)
總結
以上就是這篇文章的全部內容了,希望本文的內容對各位Android開發者們能有所幫幫助,如果有疑問大家可以留言交流。
本文實例講述了Android實現將應用崩潰信息發送給開發者並重啟應用的方法。分享給大家供大家參考,具體如下:在開發過程中,雖然經過測試,但在發布後,在廣大用戶各種各樣的運
這是一篇遲來的博客,Android M已經發布一年多了(6.0的變化),在Android M中權限系統被重新設計,發生了顛覆性的變化,很多人把握不好這個變化,一是對這個權
本文介紹了一個使用Handler的Android應用程序,通過該程序,我們可以了解Handler的基本用法。該程序運行效果如下: 點擊But
最近在做APP,需要監聽Android手機網絡的變化情況,同時對不同的情況做出不同的響應策略,這裡有兩種方法。判斷聯網工具類這裡我使用的是ConnectivityMan