android - Facebook Android SDK 的 key 散列无效

标签 android eclipse adt keytool

我正在尝试使用 Facebook Android SDK 开发一个带有 Facebook 登录按钮的简单应用程序。 但是我在使用 Key Hashes 时遇到了麻烦。我已经创建了调试 key 和发布 key :

调试 key :

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

发布 key :

keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64

然后我在 Facebook 开发者页面中复制了这个 key 散列。 当我导出 apk 并将其复制到设备中时,它运行良好,但是当我尝试从 Eclipse 安装应用程序(作为 Android 应用程序运行/调试)时,它不起作用。似乎该应用程序使用的 key 哈希与我使用 keytool 创建的 key 哈希不同。 任何人都知道如何解决这个问题?

最佳答案

尝试从这里获取HashKey

public static void showHashKey(Context context) {
            try {
                PackageInfo info = context.getPackageManager().getPackageInfo(
                        "com.example.tryitonjewelry", PackageManager.GET_SIGNATURES); //Your            package name here
                for (Signature signature : info.signatures) {
                    MessageDigest md = MessageDigest.getInstance("SHA");
                    md.update(signature.toByteArray());
                    Log.i("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
                    }
            } catch (NameNotFoundException e) {
            } catch (NoSuchAlgorithmException e) {
            }
        }

关于android - Facebook Android SDK 的 key 散列无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24953263/

相关文章:

c# - 在 Xamarin android (xamarin.android.dll) 中使用 System.Web

eclipse - eclipse 不返回错误级别

Android:res/strings.xml,包括另一个文件夹中的另一个字符串文件

android - 如何在Eclipse中将Gradle与ADT结合使用?

android - 如何使用 Android 导航组件实现从 RecyclerView 项目到 Fragment 的共享过渡元素?

android - 搜索在 RecyclerView 部分不起作用

android - 无法从适配器中的 getView 返回两个不同的 View

Eclipse 无法调试。请帮助我尝试了一切

java - eclipse Java : Template for the 'create field' quick fix suggestion?

c - 使用递归插入和删除堆栈 ADT 的元素