androiddeployqt : Qt hook gradle android

标签 android qt gradle qmake

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

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

所以问题是:是否有可能以某种方式 Hook 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
    }
}

关于androiddeployqt : Qt hook gradle android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45970549/

相关文章:

java - TextView 按字母打破我的话

android - PopupWindow 中的 ScrollView 没有滚动效果

Android 9 AAC 解码器使用 ffmpeg 编码文件输出零样本

qt - 如何更改 MenuBar 的字体颜色?

Qt:没有为 Windows 发行版本生成 map /pdb 文件

java - 打造节俭服务

c++ - QImage 和 QPixmap 有什么区别?

java - 错误 java.lang.NoClassDefFoundError : com. github.difflib.text.DiffRowGenerator$$Lambda$0

android - 引起原因:com.android.dex.DexException:多个dex文件定义了Landroid/arch/core/internal/SafeIterableMap $ ListIterator;

安卓撰写 : Type is defined multiple times