有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java使用aar库和Qt

可以在Qt应用程序中使用Android Studio库(aar文件)吗

问题是,我想用Qt实现一个移动应用程序,但只有一个Android Studio库。是否可以在Qt项目中包含该库,或者让我为它编写一个包装器类

<>如果我必须实现包装器,我必须使用JNI,是否有使用C++和java LIB?p>

共 (3) 个答案

  1. # 1 楼答案

    我找到了答案,这对我很有用

    首先,您必须解压缩aar文件,以便获得jar库文件。 然后,您可以按照此链接中的说明将库包含到apk中: http://doc.qt.io/qt-5/android3rdpartylibs.html

    完成后,您必须实现自己的Java包装器类来与库交互。因此,必须使用Qt中的QAndroidJniObject类。以下是关于它的更多信息。 http://doc.qt.io/qt-5/qandroidjniobject.html

    你也可以看看这个例子,他们使用自己的java类http://doc.qt.io/qt-5/qtandroidextras-notification-example.html

  2. # 2 楼答案

    你可以加上。aar文件直接发送到您的项目

    在渐变文件中添加。aar文件夹到依赖项

    compile project(':myAarFolder1.1')
    

    并将其包含在gradle中。背景

    include ':myAarFolder1.1'
    

    我的项目中的aar文件位置如下

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

    android/myAarFolder1。1/构建。gradle文件内容

    configurations.maybeCreate("default")
    artifacts.add("default", file('myAarFolder1.1.aar'))
    
  3. # 3 楼答案

    好吧,万一有人碰到这个,我就想出来了

    如果你还没有android源文件夹,可以将其插入你的应用程序中,添加一个。专业文件

    android {
       ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android-sources
    }
    

    下面是一个文件结构示例:

    project/android-sources
    project/android-sources/settings.gradle
    project/android-sources/build.gradle
    project/android-sources/LibraryFolder
    project/android-sources/LibraryFolder/Library.aar
    project/android-sources/LibraryFolder/build.gradle
    

    你可能必须要有自己的体格。来自的渐变文件/构建Android/Android构建/构建。gradle并将其复制到project/android sources/中(如果它还不存在)

    将其插入到您的构建中。依赖项{}

    api project(':LibraryFolder')
    

    将其插入到您的设置中。底部是gradle锉刀

    include ':LibraryFolder'
    

    创建构建。将gradle文件放入Library文件夹并插入:

    configurations.maybeCreate("default")
    artifacts.add("default", file('Library.aar'))
    

    最后,如果要添加的库具有其他第三方依赖项,则必须将它们添加到project/android sources/build中。格拉德尔

    例如,我在添加ImagePicker时,必须在依赖项{}中插入下面的行,但在api项目(“:LibraryFolder”)中插入上面的行。

    implementation 'androidx.appcompat:appcompat:1.0.2'
    implementation 'androidx.recyclerview:recyclerview:1.0.0'
    implementation 'com.github.bumptech.glide:glide:4.9.0'
    

    the library's source