查找Android Facebook SDK版本是什么

查找Android Facebook SDK版本是什么,facebook,facebook-android-sdk,Facebook,Facebook Android Sdk,如何确定我的应用程序安装或引用了当前SDK的版本?我已经查看了类文件和清单,但没有参考它的版本 提前感谢。您拥有当前版本的FacebookSdkVersion课程: 因为这个类没有修饰符,并且您不能从包中访问它,所以使用反射。 这将返回sdk版本: private String getFacebookSDKVersion() { String sdkVersion = null; ClassLoader classLoader = getClass().getClassLoade

如何确定我的应用程序安装或引用了当前SDK的版本?我已经查看了类文件和清单,但没有参考它的版本


提前感谢。

您拥有当前版本的
FacebookSdkVersion
课程:

因为这个类没有修饰符,并且您不能从包中访问它,所以使用反射。 这将返回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;
}
私有字符串getFacebookSDKVersion()
{
字符串sdkVersion=null;
ClassLoader ClassLoader=getClass().getClassLoader();
cls类;
尝试
{
cls=classLoader.loadClass(“com.facebook.facebook.version”);
Field=cls.getField(“构建”);
sdkVersion=String.valueOf(field.get(null));
}
catch(classnotfounde异常)
{
//错误
}
捕获(无此字段例外)
{
//错误
}
捕获(IllegalArgumentException e)
{
//错误
}
捕获(非法访问例外e)
{
//错误
}
返回sdkVersion;
}
有一个公共API:

import com.facebook.Settings;

Settings.getSdkVersion()
“以字符串形式获取适用于Android的Facebook SDK的当前版本。”

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

最简单的方法是:

1.-转到您的AndroidManifest.xml

2.-查看底部导航视图,有两个选项卡:文本和合并清单,单击最后一个

3.-右侧将显示清单来源,即:例如,我有:facebook android sdk:4.20.0清单


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

回答晚了,但我在尝试@sromku时又找到了一个类

有一个类叫做FacebookSdk:
import com.facebook.FacebookSdk

它公开了两种我们可以尝试的有用方法:

  • getGraphaDiversion()
  • getSdkVersion()

  • 我看不到可用的设置库。我是第一次使用它,我真的需要帮助,以了解我的FB sdk版本这对我来说是完美的。谢谢只需注意:这是安卓工作室专门提供的。
    import com.facebook.Settings;
    
    Settings.getSdkVersion()