题 查找Android Facebook SDK版本的内容


如何找出我的应用程序安装或引用当前SDK的版本?我查看了类文件和清单,但没有关于它是什么版本的参考。

提前致谢。


19
2017-10-07 13:48


起源




答案:


你有 FacebookSdkVersion 当前版本的类: https://github.com/facebook/facebook-android-sdk/blob/master/facebook/src/com/facebook/FacebookSdkVersion.java

final class FacebookSdkVersion {
    public static final String BUILD = "3.5.2";
    public static final String MIGRATION_BUNDLE = "fbsdk:20130708";
}

由于此类没有修饰符且您无法从包中访问它,因此请使用反射。 这将返回你的sdk版本:

private String getFacebookSDKVersion()
{
    String sdkVersion = null;
    ClassLoader classLoader = getClass().getClassLoader();
    Class<?> cls;
    try
    {
        cls = classLoader.loadClass("com.facebook.FacebookSdkVersion");
        Field field = cls.getField("BUILD");
        sdkVersion = String.valueOf(field.get(null));
    }
    catch (ClassNotFoundException e)
    {
        // error
    }
    catch (NoSuchFieldException e)
    {
        // error
    }
    catch (IllegalArgumentException e)
    {
        // error
    }
    catch (IllegalAccessException e)
    {
        // error
    }
    return sdkVersion;
}

32
2017-10-07 16:35





最简单的方法:

1.-转到AndroidManifest.xml

2.-查看底部导航视图,有两个选项卡:Text和Merged Manifest,单击最后一个。

3.-在右侧将出现Manifest Sources,它就是:例如我有这个:facebook-android-sdk:4.20.0 manifest。

我知道它有点老了,但是我在2017年3月搜索了这个并没有像这样简单的答案。


2
2018-03-26 19:27





有一个公共API:

import com.facebook.Settings;

Settings.getSdkVersion()

“以Android字符串形式获取Android SDK的当前版本。”

我不建议使用反射来访问包类 - 它们可能会在将来更改它并破坏您的代码,但这个公共API应该被认为是稳定的。


1
2017-09-29 20:41



我没有看到可用的设置库。我是第一次使用它,我真的需要帮助才能知道我的FB sdk版本 - saunlogan