В эти дни Google предварительно выпустила новую функцию , которая позволит легко повторно использовать встроенные библиотеки. Если вы еще не готовы перейти на Android Studio 4.0 и / или создать необходимые AAR для libA , вы можете использовать старые способы.
Существует три различных трека, в зависимости от характера вашего проекта B .
Если загружается только libA.so из Java / Kotlin, достаточно указать jniLibs.src
в build.gradle : Как добавить файлы .so в проект библиотеки android с помощью gradle 0.7 + . Обратите внимание, что все классы, которые имеют собственные методы, реализованные в libA.so , должны быть скопированы в Project B , сохраняя при этом их полные имена без изменений.
Если второй проект использует ndk-build , вам следует include $(PREBUILT_SHARED_LIBRARY)
. Руководство по NDK содержит более свежие данные.
Если в проекте используется CMake , вы используете add_library(… SHARED IMPORTED)
. Документация Android Srudio объясняет другой сценарий ios.
Важно подчеркнуть небольшую разницу между ndk-build и CMake в их обработке готовых .so
библиотек. В то время как ndk-build будет копировать эти библиотеки в каталог установки со всеми библиотеками, которые он создает, CMake не предоставляет эту помощь . Поэтому вы, вероятно, добавите папку, в которой хранится предварительно собранная библиотека, в jniLibs.src
в build.ghradle (как в случае 1 выше).
Во всех 3 сценариях ios, убедитесь, что библиотеки, которые вы упаковали в ваш APK или AAB, лишены символов отладки.