Я пытаюсь динамически загрузить собственную библиотеку libhello_world.so
в пример проекта Android. Моя цель - чтобы приложение работало нормально, а во время выполнения извлекало библиотеку и загружало ее, чтобы ее можно было использовать.
В настоящее время структура приложения для Android
├── AndroidManifest.xml
├── java
│ └── example
│ └── myapp
│ └── some
│ └── exampleapp
│ ├── Computation.java
│ └── MainActivity.java
├── jniLibs
│ ├── arm64-v8a
│ │ └── libhello_world.so
│ ├── armeabi-v7a
│ │ └── libhello_world.so
│ ├── x86
│ │ └── libhello_world.so
│ └── x86_64
│ └── libhello_world.so
└── res
├── layout
│ └── activity_main.xml
├── mipmap-hdpi
│ ├── ic_launcher.png
│ └── ic_launcher_round.png
├── mipmap-mdpi
│ ├── ic_launcher.png
│ └── ic_launcher_round.png
├── mipmap-xhdpi
│ ├── ic_launcher.png
│ └── ic_launcher_round.png
├── mipmap-xxhdpi
│ ├── ic_launcher.png
│ └── ic_launcher_round.png
├── mipmap-xxxhdpi
│ ├── ic_launcher.png
│ └── ic_launcher_round.png
└── values
├── colors.xml
├── dimens.xml
├── strings.xml
└── styles.xml
Я загружаю библиотеку вот так
static {
System.loadLibrary("hello_world");
}
Теперь я хотел бы как-нибудь без , очевидно, с папкой jniLibs
в проекте android, загружать библиотеку по другому пути в системе или по URL. Представьте себе, например, что содержимое папки jniLibs
находится в каталоге /tmp
. Как мне указать это в приложении, чтобы его можно было найти во время выполнения?
Возможно ли это, и если да, то как?