2013-04-05 184 views
0

我正在嘗試與我的一個應用程序的Facebook集成工作。我剛剛閱讀了文檔here,它說:Facebook/keytool澄清需要

「首先,要在本地計算機上生成密鑰哈希,請在Android調試密鑰庫中運行Java的keytool實用程序(應位於控制檯的路徑上)。

這對我來說很困惑,這是否意味着我的應用程序(+ facebook集成)只能在我的「本地計算機」上工作 - 即在我的PC上運行的模擬器?..如果是的話,方式爲我的android手機(通過USB連接到我的電腦)獲得相應的「鍵哈希」?因爲我寧願在手機上測試我的應用程序而不是模擬器。

回答

1

當您創建一個將被上傳到Google Play商店的Android應用程序時,您將生成一個唯一的標識符,以允許Google以及安裝應用程序的每部手機知道您已開發該應用程序。這就像你自己的祕密密碼,你不應該與任何人分享。如果惡意開發人員爲您的應用程序創建「更新」,並以某種方式將其分發給用戶,則任何試圖安裝它的用戶都將收到錯誤消息,因爲惡意虛假升級不會使用您的私人密鑰存儲庫創建。當你釋放你的應用程序時,你必須創建這個密鑰庫,並使用它來生成一個Facebook密鑰哈希,這就是他們在這裏提到的。

但是,當您正在開發並未準備好向世界發佈時,默認情況下,Eclipse將使用默認的「調試」密鑰庫來構建您的應用程序。您所指的說明告訴您如何使用調試密鑰庫生成Facebook哈希。一旦你這樣做了,只要你用調試密鑰庫構建你的應用並運行它,只要你把這個密鑰散列粘貼到Facebook開發者控制檯中,Facebook就會允許它使用SDK進行連接。無論您是在計算機還是電話上運行應用程序,它都會運行並與Facebook集成連接。

當您準備發佈時,您必須生成全新的密鑰庫,再次在該文件上運行該工具,然後像以前一樣將該密鑰哈希上傳到Facebook。然後,您的應用可以在任何人的手機上運行,​​並且可以連接到Facebook,前提是您可以使用新的密鑰庫進行構建。