新的Facebook Android SDK需要android min API等级15,但几乎所有我的应用都处于最低API等级9.如果我整合新的FB Android SDK会在API等级低于15的设备上崩溃我的应用程序?
如果我获得新的SDK,在API级别设备上在FB上共享图像功能会停止工作吗?
答案 0 :(得分:5)
minSdkVersion
属性意味着设计库时没有考虑低于该值的API级别。如果API级别低于15的方法或字段不可用,开发人员不会注意,这是通知您的方法。
例如,方法getExecutor中使用的字段THREAD_POOL_EXECUTOR
仅可从API级别11获得:
public static Executor getExecutor() {
synchronized (LOCK) {
if (FacebookSdk.executor == null) {
FacebookSdk.executor = AsyncTask.THREAD_POOL_EXECUTOR;
}
}
return FacebookSdk.executor;
}
在4.5.1版本中,getExecutor方法不同,并且还支持API级别9:
public static Executor getExecutor() {
synchronized (LOCK) {
if (FacebookSdk.executor == null) {
Executor executor = getAsyncTaskExecutor();
if (executor == null) {
executor = new ThreadPoolExecutor(
DEFAULT_CORE_POOL_SIZE, DEFAULT_MAXIMUM_POOL_SIZE, DEFAULT_KEEP_ALIVE,
TimeUnit.SECONDS, DEFAULT_WORK_QUEUE, DEFAULT_THREAD_FACTORY);
}
FacebookSdk.executor = executor;
}
}
return FacebookSdk.executor;
}
总之,您不应该使用最新版本的Facebook SDK,但您应该坚持使用最后一个兼容版本(4.5.0)。
minApk版本的更改显示在下面的升级日志中: - https://developers.facebook.com/docs/android/upgrading-4.x
以及利息的释放如下 https://github.com/facebook/facebook-android-sdk/releases?after=sdk-version-4.8.1