我正试图从我的Android项目中删除最后一个Lint警告。我正在使用最新的IntelliJ IDEA 2016.1。
警告是:
'sourceSets' cannot be applied to
'(groovy.lang.Closure<com.android.build.gradle.api.AndroidSourceSet>)' (at line 28)我已经看到了多个问题,所以cannot be applied to "XXXX"不是AndroidSourceSet,而建议的解决方案并不适用于我的问题。
我的Android Gradle插件的最新版本是: 1.5.0
这是我的sourceSets,位于我的gradle文件的android部分。
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src/main/java']
resources.srcDirs = ['src/main/java']
aidl.srcDirs = ['src/main/java']
renderscript.srcDirs = ['src/main/java']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
androidTest.setRoot('src/test/java')
}当我检查gradle文档时,我不知道这有什么问题。我要取消对这份声明的检查,但我想确定它是否正常。
谢谢。
编辑
这是完整的gradle文件(为了隐私起见,删除了一些信息)。
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.5.0'
classpath 'org.ajoberstar:gradle-git:1.0.0'
}
}
apply plugin: 'com.android.application'
apply from: 'versionupdate.gradle'
android {
compileSdkVersion 15
buildToolsVersion "23.0.1"
dataBinding {
enabled = true
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_6
targetCompatibility JavaVersion.VERSION_1_6
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src/main/java']
resources.srcDirs = ['src/main/java']
aidl.srcDirs = ['src/main/java']
renderscript.srcDirs = ['src/main/java']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
androidTest.setRoot('src/test/java')
}
packagingOptions {
exclude 'META-INF/notice.txt'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/license.txt'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/ASL2.0'
exclude 'META-INF/LICENSE'
exclude 'META-INF/NOTICE'
pickFirst 'LICENSE.txt'
return true
}
signingConfigs {
Signing {
keyAlias 'somekey'
keyPassword 'key'
storeFile file('../.keystore')
storePassword 'password'
}
}
configurations {
all*.exclude group: 'commons-logging', module: 'commons-logging'
}
buildTypes {
applicationVariants.all { variant ->
variant.outputs.each { output ->
output.outputFile = file("$project.buildDir/outputs/apk/myprogram.apk")
}
}
debug {
versionNameSuffix "-SNAPSHOT"
//noinspection GroovyAssignabilityCheck
signingConfig signingConfigs.Signing
}
release {
//noinspection GroovyAssignabilityCheck
signingConfig signingConfigs.Signing
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'
zipAlignEnabled true
}
}
return true
}
repositories {
mavenCentral()
}
dependencies {
compile 'com.google.android:android:4.1.1.4'
compile 'org.springframework.android:spring-android-core:1.0.1.RELEASE'
compile 'commons-io:commons-io:1.4'
compile 'org.springframework.android:spring-android-rest-template:1.0.1.RELEASE'
compile 'com.google.code.gson:gson:2.4'
compile 'org.java-websocket:Java-WebSocket:1.3.0'
compile 'joda-time:joda-time:2.3'
compile 'net.erdfelt.android:apk-parser:1.0.2'
compile 'org.apache.commons:commons-compress:1.9'
compile 'com.fatboyindustrial.gson-jodatime-serialisers:gson-jodatime-serialisers:1.2.0'
compile 'commons-validator:commons-validator:1.4.0'
compile 'com.intellij:annotations:12.0'
}发布于 2016-03-28 13:44:25
您的sourceSets块似乎位于错误的位置。确保它直接在android块中,与buildTypes和defaultConfig处于相同的级别。
此外,查看您的代码,您根本不需要sourceSets块。所有设置为默认设置。
https://stackoverflow.com/questions/36263212
复制相似问题