androiddeployqt:Qt hook gradle android

时间:2017-08-30 22:21:21

标签: android qt gradle qmake

我想在我的Qt / Android项目中使用第三方库。在典型的Android项目中,我必须将compile添加到dependencies列表,但Qt是不可能的,因为build.gradle生成了androiddeployqt

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

所以问题是:是否有可能以某种方式将androiddeployqt挂钩到build.gradle中添加几行?或者也许可以将另一个build.gradle放入subdir并且gradle将从中执行任务?

1 个答案:

答案 0 :(得分:1)

解决方案是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
    }
}