2011-10-31 39 views
1

我使用獲得的密鑰對我的Android/Facebook的應用程序如下:的Android/Facebook的 - INVALID_KEY設備上,而不是在模擬器

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

我給這對Facebook和應用程序現在的作品完美的模擬器內,無論是否安裝了Facebook應用程序。但是,當我打包應用程序並將其放在我的手機(HTC Desire)上時,驗證時會出現invalid_key錯誤。任何人都可以闡明爲什麼會發生這種情況?我需要使用不同的密鑰嗎?

+2

使用keytool創建一個自己的密鑰進行打包。顧名思義,調試鍵僅用於調試,並且不與真正的供應商,公司等相關聯。 – Stephan

+0

使用哪個密鑰庫? –

+0

您需要使用自己的密鑰創建自己的密鑰存儲並將其用於打包該應用。 – Stephan

回答

1

是的......您需要使用您用於實際編譯應用程序的相同密鑰(您在導出過程中使用的密鑰),否則它會不匹配。這是一個(小的)PITA,你需要將它們放在手邊並將它們交換出去,這樣當你正在調試時你使用了一個,而當你真正編譯你的apk時,你使用另一個。

我已經養成了快速編譯我的apk和使用adb來安裝/卸載到我的連接設備上的習慣,所以我根本不打擾調試版......但是如果你更喜歡你可以繼續在Facebook App編輯器頁面上交換它們。

+0

因此,我應該使用上述命令,而不是調試密鑰庫,在Android的密鑰庫(在Eclipse中使用的)中交換? –

+0

@ Dr.Dredel您不需要一個密鑰來編譯代碼,僅用於打包/導出。 – Stephan

+1

@Joel,這是正確的......確保你的別名是正確的,導致密鑰生成器不會警告你它是錯誤的,而是會給你一個假密鑰! –

相關問題