【问题标题】:Would updating Facebook Android SDK crash my apps on api level below 15?更新 Facebook Android SDK 会使我的 api 级别低于 15 的应用程序崩溃吗?
【发布时间】:2016-02-14 19:36:44
【问题描述】:

新的 Facebook Android SDK 需要 android 最低 API 级别 15,但我的几乎所有应用都处于最低 API 级别 9。如果我集成新的 FB Android SDK,我的应用会在 API 级别低于 15 的设备上崩溃吗?

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

【问题讨论】:

    标签: android facebook facebook-android-sdk


    【解决方案1】:

    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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-03
      • 2021-01-24
      相关资源
      最近更新 更多