查找Android Facebook SDK版本是什么
如何确定我的应用程序安装或引用了当前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
提前感谢。您拥有当前版本的
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()