У меня есть один проект, который включает sample app
и модуль, который мы назовем sdk
, который я создал, и который я в конечном итоге упакую в файл .aar
, когда все будет завершено. sample app
указывает sdk
запустить службу. Эта служба требует использования внешних библиотек, которые были упакованы в файл .jar
, включающий файлы .so
. Проблема в том, что каждый раз, когда я пытаюсь загрузить библиотеки, я получаю сообщение об ошибке неудовлетворительной ссылки, говорящее о том, что файл .so
не существует и, следовательно, не может открыть библиотеку. Я не совсем уверен, если я помещаю все в правильном месте, как говорит ошибка. Если я пропускаю шаг, я надеялся, что кто-нибудь может помочь направить меня в правильном направлении. Ниже я покажу файловую структуру моего проекта, а также то, что я делаю, чтобы попытаться открыть библиотеку.
Структура файла
`- MY PROJECT
- My Sample App (com.mine.mysampleapp)
- build
- src...etc
- SDK (separate module) (com.mine.mysamplesdk)
- build
- libs
- my-lib.jar
- assets
- arm64-v8a
- my-lib.so
- armeabi-v7a
- my-lib.so
Код загрузки библиотеки
System.load(context.getFilesDir() + "/my-lib.so");
Я не понимаю, что файл .so
находится внутри sdk
, но появляется сообщение об ошибке:
dlopen failed: library "/data/user/0/com.mine.mysampleapp/files/my-lib.so" not found
показывает, что он ищет файл в моем примере приложения.