Здравствуйте, Zhendos, Вы писали:
Z>Здравствуйте, Nevidim, Вы писали:
N>>Здравствуйте, Zhendos, Вы писали:
Z>>>Здравствуйте, Nevidim, Вы писали:
N>>>>Есть написанная библиотека (so) на QT под Андроид. Хочется, чтобы разработчик, использующий Android Studio и соответственно Java мог с ней работать.
Z>>>Что подразумевается под "работать"? Он будет править C++/QML или просто использовать готовую ".so"
Z>>>в бинарном виде?
N>>Нет конечно, не править. Использовать в бинарном виде.
Z>Не очень понятно как он сможет это сделать без Java/JNI обертки,
Z>но не важно, вообще добавить ".so" в apk очень просто, положите его
Z>сборки под разные архитектуры в
Z>app/src/main/libs/armeabi
Z>и
Z>app/src/main/libs/arm64
Z>и все:
Z>Вот пример более сложного правила gradle
Z>где библиотека на языке Rust сначала собирается,
Z>а потом уже в нужную директорию копируется:
Z>https://github.com/Dushistov/rust_swig/blob/15ab3bd3b88ef17c450ac3acc9a8ca482d4df534/android-example/app/build.gradle#L73
Z>вызов cargo для сборки Rust можно заменить на qmake/make с правильными
Z>аргументами и все будет работать прямо по нажатию Run/Build в Android Studio.
Z>Другой вопрос что этого нифига не хватит, кроме вашей библиотеки ведь нужно еще всякие libQtCore/QtGui и т.д.
Z>Самый простой путь, раз у вас есть готовое приложение на Qt для Android,
Z>это открыть его apk (это ведь всего лишь zip файл) и скопировать из его папки lib все что нужно
Z>и положить в app/src/main/libs/
Благодарю!
А эти вот дополнительные библиотеки, их надо обязательно подгружать в Java через LoadLibrary или они каким то образом могут подгружаться автоматически?