Java — Использование библиотеки Aar с Qt

Можно ли использовать библиотеку Android Studio (файл aar) в приложении Qt?

Проблема в том, что я хочу реализовать мобильное приложение с Qt, но есть только библиотека для Android Studio. Можно ли включить библиотеку в проект Qt или я должен написать для нее класс-оболочку?

Если мне нужно реализовать обертку, должен ли я использовать JNI и есть ли примеры для ее использования с C ++ и Java lib?

2

Решение

Я нашел ответ, который работал для меня.

Сначала вы должны разархивировать файл aar, чтобы получить файл библиотеки jar.
Затем вы можете следовать инструкциям по этой ссылке, чтобы включить библиотеку в ваш apk:
http://doc.qt.io/qt-5/android3rdpartylibs.html

Когда вы закончите это, вы должны реализовать свой собственный класс-оболочку Java для взаимодействия с библиотекой. Поэтому вы должны использовать класс QAndroidJniObject из Qt. Вот больше информации об этом.
http://doc.qt.io/qt-5/qandroidjniobject.html

Вы также можете взглянуть на этот пример, где они используют свой собственный класс Java. http://doc.qt.io/qt-5/qtandroidextras-notification-example.html

1

Другие решения

Вы можете добавлять файлы .aar прямо в ваш проект

В файле gradle добавьте папку .aar в зависимости

compile project(':myAarFolder1.1')

и включите его в gradle.settings

include ':myAarFolder1.1'

расположение файла aar в моем проекте выглядит следующим образом

android/myAarFolder1.1/.aar
android/myAarFolder1.1/build.gradle

android / myAarFolder1.1 / build.gradle содержимое файла

configurations.maybeCreate("default")
artifacts.add("default", file('myAarFolder1.1.aar'))
0