更新Facebook Android SDK会使api级别低于15的应用程序崩溃吗?

时间:2015-11-13 09:03:26

标签: android facebook facebook-android-sdk

新的Facebook Android SDK需要android min API等级15,但几乎所有我的应用都处于最低API等级9.如果我整合新的FB Android SDK会在API等级低于15的设备上崩溃我的应用程序?

如果我获得新的SDK,在API级别设备上在FB上共享图像功能会停止工作吗?

1 个答案:

答案 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