androiddeployqt: Qt hook gradle android

androiddeployqt: Qt hook gradle android

我想在我的 Qt/Android 项目中使用第三方库。在典型的 android 项目中,我必须将 compile 添加到 dependencies 列表中,但是对于 Qt 来说这是不可能的,因为 build.gradle 是由 androiddeployqt.[=20= 生成的]

Docs says 我应该为此使用 project.properties,但这没有任何意义,因为自 Android Studio 以来它的支持已被删除。此外,我不想在使用 gradle.

时自己重新编译所有库

所以问题是:是否有可能以某种方式挂钩 androiddeployqt 以在 build.gradle 中添加几行?或者也许可以将另一个 build.gradle 放入子目录,然后 gradle 将从中执行任务?

解决方案是 build.gradle 整洁的 AndroidManifest.xml 文件,内容如

buildscript {
    repositories {
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.3'
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

apply plugin: 'com.android.application'

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])

    compile 'com.android.support:appcompat-v7:22.1.1'
    compile 'io.grpc:grpc-protobuf-lite:1.5.0'
    compile 'io.grpc:grpc-stub:1.5.0'
    compile 'javax.annotation:javax.annotation-api:1.2'
    compile 'io.grpc:grpc-okhttp:1.5.0'
    compile 'com.google.protobuf:protobuf-java:3.4.0'
    compile 'io.grpc:grpc-protobuf:1.5.0'
}

android {
    compileSdkVersion androidCompileSdkVersion.toInteger()

    buildToolsVersion androidBuildToolsVersion

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = [qt5AndroidDir + '/src', 'src', 'java']
            aidl.srcDirs = [qt5AndroidDir + '/src', 'src', 'aidl']
            res.srcDirs = [qt5AndroidDir + '/res', 'res']
            resources.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            assets.srcDirs = ['assets']
            jniLibs.srcDirs = ['libs']
       }
    }

    lintOptions {
        abortOnError false
    }
}