Добавьте отдельную ссылку jniLibs для различных зависимостей модуля в проекте Android Studio - PullRequest
0 голосов
/ 07 ноября 2018

Я занимаюсь разработкой проекта Android с двумя разными зависимостями модулей:

  1. Зависимость от jar третьей стороны.
  2. Зависимость библиотеки Android, которую я создал сам.

Оба эти модуля используют разные библиотеки C ++. Зависимость jar относится к самим файлам / .so библиотек.

Я только добавил его в свой проект в качестве jar-зависимости. Однако для зависимости от библиотеки Android я добавил файлы .so в папку libs/armeabi-v7a/ и добавил их ссылку в файл build.gradle уровня модуля следующим образом:

android {
 defaultConfig {

        ndk {
            abiFilters 'armeabi-v7a'
        }
    }


    sourceSets {
        main {
            jniLibs.srcDirs = ['libs']
        }
    }
}

Без добавления этого кода в файл build.gradle моей зависимости от библиотеки Android файлы .so не включаются в сборку, и я получаю сообщение об ошибке при попытке загрузить файлы .so. С другой стороны, зависимость jar выдает ошибку при попытке обратиться к своим собственным файлам .so, когда я добавляю вышеупомянутый код в мою зависимость от библиотеки Android build.gradle.

Я гуглил эту проблему и ничего не нашел. Есть ли способ обратиться к модулю каталогов jniLibs для разрешения такого рода конфликтов?

1 Ответ

0 голосов
/ 16 ноября 2018

это можно сделать, переупаковав третье лицо .jar:

  • не устанавливайте путь (C) jniLibs для каталога (Java) libs.

  • , но извлекает (и удаляет) нативные библиотеки .so из .jar (это .zip формат)

  • и затем бросьте их в jniLibs/armeabi.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...