Можно ли использовать библиотеку Android Studio (файл aar) в приложении Qt?
Проблема в том, что я хочу реализовать мобильное приложение с Qt, но есть только библиотека для Android Studio. Можно ли включить библиотеку в проект Qt или я должен написать для нее класс-оболочку?
Если мне нужно реализовать обертку, должен ли я использовать JNI и есть ли примеры для ее использования с C ++ и Java lib?
Я нашел ответ, который работал для меня.
Сначала вы должны разархивировать файл 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
Вы можете добавлять файлы .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'))