Skip to content

Sabycom SDK несовместим с Fresco 3.x и блокирует 16 KB page size compliance #1

Description

@Zhorenty

Sabycom SDK: 16 KB Page Size Compatibility Issue

Контекст

  • Приложение: Flutter Android (targetSdk 36, AGP 8.13.0, NDK 28.2)
  • Требование Google Play: поддержка 16 KB page size
  • Текущая версия SDK: ru.tensor.sabycom:sabycom:26.1232.83

Проблема

  1. Для прохождения требований 16 KB необходимо перейти на Fresco >= 3.4.0
    (в ветке 2.x нативные .so имеют выравнивание align 2**12).
  2. После перехода на Fresco 3.4.0 SDK sabycom падает при инициализации:
    • java.lang.NoSuchMethodError: ... setNativeCodeDisabled(Z)...
    • стек: ru.tensor.sabycom.Sabycom.initFresco(Sabycom.kt:151) -> Sabycom.initialize(...)
  3. Если оставить Fresco 2.5.0, приложение не проходит 16 KB совместимость
    (warning/error в Google Play Console).

Технические факты

При Fresco 2.5.0

  • libimagepipeline.so
  • libnative-imagetranscoder.so
  • libnative-filters.so

Имеют align 2**12 (не 16 KB).

При Fresco 3.4.0

  • Те же библиотеки имеют align 2**14.
  • Но sabycom падает из-за вызова удаленного/измененного API Fresco.

Что нужно исправить в SDK

  1. Обновить интеграцию sabycom с Fresco до совместимости с Fresco 3.x (минимум 3.4.0).
  2. Убрать/заменить вызов setNativeCodeDisabled(...) (или другой устаревший API), который вызывает NoSuchMethodError.
  3. Выпустить новую версию sabycom, которая:
    • не падает на инициализации с Fresco 3.x;
    • сохраняет работу чата и push-уведомлений;
    • позволяет приложению пройти 16 KB compatibility check.

Ожидаемый результат (Acceptance Criteria)

  1. Sabycom.initialize(...) успешно отрабатывает с Fresco >= 3.4.0.
  2. В рантайме отсутствуют NoSuchMethodError / LinkageError.
  3. В APK/AAB нативные библиотеки, связанные с Fresco, имеют LOAD align >= 2**14.
  4. Google Play Console не показывает warning/error про 16 KB page size.
  5. Функционал Sabycom (open chat, register user, unread counter, push handling) работает штатно.

Логи для приложения к тикету

java.lang.NoSuchMethodError: No virtual method setNativeCodeDisabled(Z)Lcom/facebook/imagepipeline/core/ImagePipelineConfig$Builder;
in class Lcom/facebook/imagepipeline/core/ImagePipelineExperiments$Builder;
at ru.tensor.sabycom.Sabycom.initFresco(Sabycom.kt:151)
at ru.tensor.sabycom.Sabycom.initialize(Sabycom.kt:49)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions