#android #facebook
#Android #Facebook
Вопрос:
Я получил ключ для своего приложения Android / Facebook, используя следующее:
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
Я передал это Facebook, и теперь приложение отлично работает в эмуляторе, как с установленным приложением Facebook, так и без него. Однако, когда я упаковал приложение и поместил его на свой телефон (HTC Desire), я получаю ошибку invalid_key при аутентификации. Может ли кто-нибудь пролить свет на то, почему это происходит? Нужно ли использовать другой ключ?
Комментарии:
1. Создайте собственный ключ с помощью keytool для упаковки. Как следует из названия, ключ отладки предназначен только для отладки и не связан с реальным поставщиком, компанией и так далее.
2. Вам нужно создать собственное хранилище ключей с вашим собственным ключом и использовать его для упаковки приложения.
3. Итак, используйте хранилище ключей, которое я использовал для упаковки, с той же командой, что и выше?
4.
keytool -genkey -alias mydomain -keyalg RSA -keystore keystore.jks -keysize 2048
из sslshopper.com /…5. Могу ли я не использовать тот же ключ, который я использовал? Похоже, это создает новый.
Ответ №1:
ДА… вам нужно использовать тот же ключ, который вы используете для фактической компиляции приложения (тот, который вы используете в процессе экспорта), иначе он не соответствует.
Это (маленький) PITA, вам нужно держать их оба под рукой и менять их местами, чтобы при отладке вы использовали один, а при фактической компиляции apk вы использовали другой.
У меня вошло в привычку просто быстро компилировать свой apk и использовать adb для установки / удаления его на мое подключенное устройство, поэтому я вообще не беспокоюсь об отладочной версии… но если вы предпочитаете, вы можете просто продолжать менять их местами на странице редактора приложений Facebook.
Комментарии:
1. Итак, должен ли я использовать приведенную выше команду, но вместо хранилища ключей отладки поменять местами хранилище ключей для Android (то, которое используется в Eclipse)?
2. @Dr.Dredel вам не нужен ключ для компиляции кода, только для упаковки / экспорта.
3. @Joel, это правильно… убедитесь, что у вас правильный псевдоним, потому что генератор ключей не предупредит вас, что это неправильно, и вместо этого выдаст вам поддельный ключ!
4. @Stephan, я не уверен, что ты имеешь в виду… вам нужен ключ для упаковки apk, верно? И Facebook нужен этот ключ, чтобы убедиться, что ваше приложение является приложением, о котором оно говорит.
5. когда вы настраиваете ключ, вы настраиваете псевдоним (с его собственным паролем) … итак, у вас есть начальный пароль, а затем псевдоним с его паролем. Все это часть одного и того же хранилища ключей.