[Android] Facebook SDK - Intellij Environment Setup

  • 0
Getting Started with the Facebook SDK for Android | Facebook Developer
    -- 請每一行字都仔細地讀,免得跳過了什麼步驟,最後跟我一樣花了一堆時間還是得回來設定 orz|||

0-1. Get Android SDK and Facebook SDK -> Import it.
0-2. 跑一下 samples 確認所有功能都是正常的
    p.s. 如果你在之後的設定中有任何奇怪的 bug,都可以回來參考 samples 是怎麼設定的,比對一下就可以發現端倪

---------- 開始設定 --------

1-1. 用 keytool 跟 openssl 產生 key hash
   - keytool 在 your_jdk_path/bin/ 底下, openssl 我是另外下載下來安裝
   - 用 cmd line 把教學裡給的指令貼上去,如果會說 "xxx 不是內部指令" 的話,我是把 your_jdk_path/bin/ 裡的所有東西跟 openssl 裡的都丟在同一個資料夾,這樣 openssl 跟 keytool 就都抓得到了
1-2. 將產生的 keytool 放到 facebook [你自己的 Developer Settings ] 跟 [Facebook App 中, Native Android App 的 Keyhash] 中
1-3. 在 Facebook 上順便填寫 Native Android App 的 package name 跟 class name 之後,記得回 IntelliJ 設定 app_id (AndroidManifest.xml 還有 strings.xml)

---------- 開始說明如何用 IntelliJ 把自己的 project 中 Facebook SDK 成為 module ----------
(在這裡,我實作 Facebook SDK 的 package 是 android-bootstrap)
2-0. 下載 Facebook SDK For Android, 將裡面的 facebook 資料夾複製出來

2-1. [圖一] File -> Project Structure -> Modules -> Import Module -> Facebook

2-2. Import module from external model -> Eclipse -> Next -> Next -> Finish
    p.s. 中間應該要在 (Select Eclipse projects to import) 看到 FacebookSDK
(我現在發現直接 import 時選 .iml 檔就OK了XP)

2-3. [圖二] modules 選到 FacebookSDK 上,頁籤 Dependencies
    -> + Add Libraries -> New Library (Java) -> facebook/libs/android-support-v4 -> ok
    p.s. 你也可以利用 Android 的 SDK Manager 下載最新版的 android-support-v4,我因為一直 reference 到舊版的 android-support-v4 而一直有問題

2-4. [] modules 選到你實作 Facebook SDK 的 project ,頁籤 Dependencies
    -> Add Library -> android-support-v4
    -> Add Module Dependencies -> FacebookSDK
    -> (非常重要)將他們兩個往上移到最上面, 把 com.google.android/support-v4-r7 (類似這樣的名字) 刪掉

2-5. OK! 開始實作各種 Facebook SDK 囉~

後記:我當初碰到的問題,是在實作 Login 時怎麼樣都 無法 override onResumeFragments()。後來才發現是 import package 的時候,一直吃到舊版的 android-suppport-v4,而那個 function 是後來才加入的!

--
[圖一] Import Facebook SDK

[圖二] Add android-support-v4 as Library

[圖三] 使用 Maven 的 Add Module Dependency 讓你的 project 知道我要使用哪一個 module


沒有留言 :

張貼留言