Интеграция существующих файлов .so и .h в Android Studio

У меня есть одна общая библиотека и один заголовочный файл. Я сделал один пример проекта, я создал файлы .so и заголовки, но теперь моя проблема заключается в том, как импортировать существующие файлы .so и .h в студию Android.

Я искал в google, но там они показывают, как генерировать, но я хочу, как импортировать эти файлы. Пожалуйста, предложите мне несколько ссылок или любые другие примеры


person Mounika    schedule 21.05.2019    source источник
comment
Это зависит от того, как вы создаете общую библиотеку, которую вы загружаете из своего кода java/kotlin. Если вы используете cmake, вы должны добавить предварительно созданную библиотеку в качестве SHARED IMPORTED библиотека. Если вы используете ndkBuild, вы должны использовать правило PREBUILT_SHARED_LIBRARY. И, конечно же, файл .so также должен быть собран с использованием NDK.   -  person Michael    schedule 21.05.2019
comment
См. этот ответ для примера cmake.   -  person Michael    schedule 21.05.2019
comment
Я использую Android make. Я получил эту библиотеку от разработчиков C и просто вставляю эту библиотеку в каталог myandroid src/libs.   -  person Mounika    schedule 21.05.2019


Ответы (1)


но теперь моя проблема заключается в том, как импортировать существующие файлы .so и .h в студию Android.

Обычно вы должны помещать свои файлы .so внутрь jniLibs, который обычно находится в app/src/main/jniLibs, а исходный код c/c++ помещать внутрь app/src/main/cpp. См. ниже структуру каталогов.

.
├── CMakeLists.txt // Your cmake configuration files. 
├── app.iml
├── build
├── build.gradle
├── libs
├── proguard-rules.pro
└── src
    ├── androidTest
    │   └── java
    ├── main
    │   ├── AndroidManifest.xml
    │   ├── cpp // Directory to put your jni native source code. 
    │   │   └── native-lib.cpp
    │   ├── java
    │   ├── jniLibs // Directory to put your jni libs, i.e. the .so files. 
    │   └── res
    └── test
        └── java

См.: https://stackoverflow.com/a/52048933/8034839

person shizhen    schedule 22.05.2019
comment
Я следовал тому, что вы сказали, это делается дальше, я должен сделать ndk-build или напрямую запустить приложение. где я должен хранить заголовочный файл - person Mounika; 22.05.2019