Интеграция Zoom с приложением для Android, библиотека “libc++_shared.so” не найдена

Вопрос или проблема

Я использую Zoom SDK на Android. Когда я попытался запустить их проект в пакете SDK -> (проект mobilertc-android в Android Studio).

ФАТАЛЬНОЕ ИСКЛЮЧЕНИЕ: main
Процесс: us.zoom.sdkexample, PID: 9094
java.lang.UnsatisfiedLinkError: dlopen не удалось: библиотека "libc++_shared.so" не найдена
в java.lang.Runtime.loadLibrary0(Runtime.java:1081)
в java.lang.Runtime.loadLibrary0(Runtime.java:1003)
в java.lang.System.loadLibrary(System.java:1765)
в com.zipow.cmmlib.AppContext.<clinit>(:1)
в us.zoom.internal.impl.i0.a(:63)
в us.zoom.sdk.ZoomSDK.initialize(:1)

Та же проблема возникла несколько раз, когда я попробовал другие методы.

**Устранение неполадок: конфликты с libc++_shared.so Чтобы устранить конфликт с libc++_shared.so, попробуйте эти варианты в этом порядке. Проверьте после каждого изменения, решает ли это проблему.

Проверьте версию NDK проекта. Текущая поддерживаемая версия NDK нашего SDK – r25c. Если вы не уверены, какую версию вы используете, укажите версию NDK в файле build.gradle.

Проверьте, есть ли в вашем проекте другая библиотека libc++_shared.so, которая вызывает конфликт.

Если у вас есть собственная C++ библиотека в проекте, укажите ndkVersion 23 в build.gradle. Если вы используете сторонний модуль, который включает libc++_shared.so, удалите сторонний модуль из вашего проекта или удалите libc++_shared.so из модуля.**

Я пробовал решения, рекомендованные на https://developers.zoom.us/docs/video-sdk/android/integrate/, но это не помогает. Я изменил версию NDK, добавил пакет и не думаю, что есть дубликат “libc++_shared.so”. Или, возможно, я что-то упускаю.

Пожалуйста, дайте мне знать, если вы сталкивались с аналогичной ситуацией и как вы это решили. Буду признателен.

Ответ или решение

При интеграции Zoom SDK в ваше Android приложение возникла ошибка: "libc++_shared.so not found". Эта проблема может быть вызвана несколькими факторами, и в данной статье мы подробно рассмотрим шаги по её устранению.

1. Проверка версии NDK

Первым делом убедитесь, что вы используете поддерживаемую версию NDK. Согласно документации Zoom, актуальная версия — r25c. Чтобы определить используемую версию, проверьте ваш файл build.gradle:

android {
    ...
    ndkVersion "25.0.0" // Убедитесь, что указана версия r25c
}

Если версия не совпадает, измените её и синхронизируйте проект.

2. Поиск конфликтующих библиотек

Ошибка, связанная с отсутствием libc++_shared.so, может возникать из-за наличия нескольких версий этой библиотеки в вашем проекте. Чтобы избежать конфликтов:

  • Откройте раздел app/src/main/jniLibs и проверьте наличие этой библиотеки. Убедитесь, что там нет дубликатов.
  • Если в вашем проекте есть собственные C++ библиотеки, убедитесь, что они используют совместимую версию libc++_shared.so.

3. Удаление сторонних библиотек

Если вы подключали сторонние модули, которые включают свою версию libc++_shared.so, вам нужно будет их откорректировать:

  • Удалите сторонний модуль или исключите libc++_shared.so из его зависимостей, если это возможно.

4. Добавление библиотек в проект

Если указанные изменения не помогли, вы можете попробовать добавить саму библиотеку libc++_shared.so в проект:

  1. Скачайте библиотеку libc++_shared.so, если она отсутствует в ваших модулях.
  2. Поместите её в директорию app/src/main/jniLibs/{arch}, где {arch} — архитектура вашего устройства (например, arm64-v8a, armeabi-v7a и т.д.).

5. Проверка конфигурации Gradle

Убедитесь, что в вашем build.gradle указаны все необходимые зависимости и конфигурации, включая поддержку NDK:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.zipow:videobroker:YOUR VERSION'
}

android {
    ...
    externalNativeBuild {
        cmake {
            cppFlags "-std=c++11"
        }
    }
}

Заключение

Если после выполнения всех перечисленных шагов ошибка остаётся, рекомендуется обратиться в поддержку Zoom с предоставлением всех необходимых логов и информации о вашем окружении (версия Android Studio, используемые библиотеки и пр.).

Эти действия должны помочь вам устранить проблему с отсутствием libc++_shared.so в вашем проекте и, как следствие, успешно интегрировать Zoom SDK в ваше Android приложение. Удачи в разработке!

Оцените материал
Добавить комментарий

Капча загружается...