我想在我的Qt / Android项目中使用第三方库。在典型的Android项目中,我必须将compile
添加到dependencies
列表,但Qt是不可能的,因为build.gradle
生成了androiddeployqt
。
Docs says我应该使用project.properties
,但它没有任何意义,因为自Android Studio以来它的支持已被删除。此外,我不想在使用gradle时自行重新编译所有库。
所以问题是:是否有可能以某种方式将androiddeployqt挂钩到build.gradle
中添加几行?或者也许可以将另一个build.gradle
放入subdir并且gradle将从中执行任务?
答案 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
}
}