[Android Studio] 為你的APP添加 Google Login 與 Facebook Login 按鈕 的 事前準備

※ 如何自製 keystore 與相關設定 ( for windows 10 )

   ‧ 產生用來申請 Google API 服務的 SHA1碼

   ‧ 產生用來申請 FACEBOOK API 服務的 雜湊碼

※ 如何找到 Android Studio 的 debug.keystore 存放位置 


※ 如何自製 keystore 與相關設定 ( windows 10 )

 

step 1

用系統管理員身分,打開cmd (左下角對windows圖案點右鍵可以找到)

 

step 2

在任意目錄下 輸入 ( 此範例在C:\ )

keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -keyalg RSA -validity 20000

其中 debug.keystore  androiddebugkey 是自訂名稱,可以自己修改

如下圖

他會叫你輸入金鑰儲存庫密碼

其實意思是設定自己喜歡的密碼

 

輸入完他會要你再輸入一次密碼

一個 double check 的概念

 

接著 

他會要你輸入一長串的資料

這邊都是自訂 沒有規定 想打什麼就打什麼

最後看到這個畫面 

你可以再設定一組 給 -alias 用的密碼

如果直接按 " enter " 就是默認使用剛剛第一組設定的密碼

就會看到完成圖如下圖

此時,打開你設定的路徑資料夾 ( 此範例是 C:\ )

就會發現他幫你產生了一個 KEYSTORE 檔案 

名稱是你剛剛上面設定的 debug.keystore

接著要怎麼看檔案的內容

請在 cmd 輸入

 keytool -list -keystore debug.keystore

debug.keystore 就是檔案名稱

接著輸入你剛剛設定的密碼

就得到你剛生成的 keystore 的專屬 SHA1 碼 

 

接著

再輸入

keytool -exportcert -alias androiddebugkey -keystore debug.keystore | openssl sha1 -binary | openssl base64

其中 androiddebugkey 和 debug.keystore 一樣是你剛剛上面自訂的名稱

就可以得到 對應你 SHA1碼 的 雜湊碼 如下圖

拿到這兩個碼就可以用來向 GoogleFACEBOOK 申請 API 服務使用囉

 

FACEBOOK 請到這個網址 https://developers.facebook.com/ 

申請開發人員帳號 跟 向 FACEBOOK 註冊你的APP

詳細流程就不在此介紹了 可以參考這篇文章 -> 連結

 

到 FACEBOOK開發者頁面

進入你的APP專頁

選設定

把剛剛產生的 雜湊碼 貼在這 

記得按下儲存

就可以使用FACEBOOK API服務了

 

Google 請到 Google Cloud Platform

右上角點選控制台

找到你向google申請的專案

點選 使用 Google API

點選 憑證 -> 建立憑證 

OAuth 用戶端 ID

 

接著

→ 名稱自訂

→ 套件名稱要跟你在AndroidManifest.xml裡面設定的一樣

→ 上面步驟產生的 SHA1碼 就是在這裡用

建立完成後

再到 Google Services Wizard

選好你的專案名稱

按下 Choose and configure service

下載 google-services.json 檔

把下載好的檔案

放到專案的APP資料夾內即可

 

接著還要記得把產生的 keystore 檔案也放到專案內

在專案APP資料夾內新增一個keystore資料夾

把產生的keystore檔放到裡面

如下圖

接著最重要的一步

打開app下的gradle檔

在 android{ } 內加入

    signingConfigs {
        debug {
            storeFile file("keystore/debug.keystore")
            storePassword "這裡要改成你設定的密碼"
            keyAlias "androiddebugkey"
            keyPassword "這裡要改成你設定的密碼"
        }
    }

其中

storeFile file 就是你keystore檔案放的路徑位置檔案名稱

storePassword , keyPassword 就是你設定的密碼

keyAlias 就是 本篇文章最一開始使用底下這行指令 你自己設定的alias名稱

keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -keyalg RSA -validity 20000

 

以上

事前準備到此完成

 

 


※ 如何找到 Android Studio 的 debug.keystore 存放位置 

點選 File > Project Structure > app > Signing 即可

 


資料來源

http://stackoverflow.com/questions/16965058/where-is-debug-keystore-in-android-studio

http://blog.xuite.net/jk4837/blog/204110289-Android+apk+%E9%80%A3%E7%B5%90+Facebook