未找到 Gradle DSL 方法:“resValue()”错误

问题描述 投票:0回答:2

我在 gradle 同步时遇到此错误。我调用 android defaultConfig 块内的方法。 我用 com.android.tools.build:gradle:1.3.0 com.neenbedankt.gradle.plugins:android-apt:1.4

构建.gradle

    // Top-level build file where you can add configuration options common to all sub-projects/modules.
apply from: 'config.gradle'

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.3.0'
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4'

    }
}

allprojects {
    repositories {
        jcenter()
    }
}

构建.gradle

 buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.3.0'
    }
}


plugins {
    id "me.tatarka.retrolambda" version "3.2.2"
}


apply plugin: 'com.android.application'
apply plugin: 'com.neenbedankt.android-apt'


repositories {
    jcenter()
    mavenCentral()
}

def googlePlayServiceVersion = "8.1.0"
def supportVersion = "23.1.1"
dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:support-v4:'+supportVersion
    compile 'com.android.support:appcompat-v7:'+supportVersion
    compile 'com.android.support:design:'+supportVersion
    compile 'com.android.support:cardview-v7:'+supportVersion
    compile 'com.android.support:recyclerview-v7:'+supportVersion
    compile 'com.android.support:gridlayout-v7:'+supportVersion

    compile 'com.google.android.gms:play-services-base:'+googlePlayServiceVersion
    compile 'com.google.android.gms:play-services-analytics:'+googlePlayServiceVersion
    compile 'com.google.android.gms:play-services-maps:'+googlePlayServiceVersion
    compile 'com.google.android.gms:play-services-location:'+googlePlayServiceVersion

    //ui
    compile 'org.sufficientlysecure:html-textview:1.2'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.commit451:PhotoView:1.2.4'
    compile 'org.solovyev.android.views:linear-layout-manager:0.5@aar'


    //utils
    compile 'me.dm7.barcodescanner:zbar:1.7'
    compile 'org.parceler:parceler-api:1.0.3'
    apt 'org.parceler:parceler:1.0.3'
    compile 'com.anupcowkur:reservoir:2.0'//кеш
    compile 'com.jakewharton:butterknife:7.0.1'
    compile 'com.annimon:stream:1.0.3'


    //networking
    compile 'com.squareup.okhttp:okhttp:2.5.0'
    compile 'com.squareup.retrofit:retrofit:1.9.0'
    compile 'com.google.code.gson:gson:2.3.1'

    //dagger
    apt 'com.squareup.dagger:dagger-compiler:1.2.2'
    compile 'com.squareup.dagger:dagger:1.2.2'
}



android {
    String appPackageName = rootProject.ext.basePackageName

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    lintOptions {
        checkReleaseBuilds false
        abortOnError false
        disable 'InvalidPackage'
    }

    defaultConfig {

        minSdkVersion 16
        targetSdkVersion 22

        versionCode 6
        versionName "6.0"
        applicationId appPackageName

        resValue 'string' 'appId' appPackageName

//        strings.each { entry ->
//            resValue 'string', entry.key, entry.value
//        }
//
//        colors.each { entry ->
//            resValue 'color', entry.key, entry.value
//        }
    }

    buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {

              applicationIdSuffix ".test"
//            minifyEnabled true
//            shrinkResources true
//            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }

    }
}

错误:

Caused by: org.gradle.api.internal.MissingMethodException: Could not find method resValue() for arguments [string] on ProductFlavor_Decorated{name=main, dimension=null, minSdkVersion=ApiVersionImpl{mApiLevel=16, mCodename='null'}, targetSdkVersion=ApiVersionImpl{mApiLevel=22, mCodename='null'}, renderscriptTargetApi=null, renderscriptSupportModeEnabled=null, renderscriptNdkModeEnabled=null, versionCode=6, versionName=6.0, applicationId=com.my.pocket, testApplicationId=null, testInstrumentationRunner=null, testInstrumentationRunnerArguments={}, testHandleProfiling=null, testFunctionalTest=null, signingConfig=null, resConfig=null, mBuildConfigFields={}, mResValues={}, mProguardFiles=[], mConsumerProguardFiles=[], mManifestPlaceholders={}}.

at org.gradle.api.internal.AbstractDynamicObject.methodMissingException(AbstractDynamicObject.java:68)
    at org.gradle.api.internal.AbstractDynamicObject.invokeMethod(AbstractDynamicObject.java:56)
    at org.gradle.api.internal.CompositeDynamicObject.invokeMethod(CompositeDynamicObject.java:172)
    at com.android.build.gradle.internal.dsl.ProductFlavor_Decorated.invokeMethod(Unknown Source)
    at build_cdgdo5tni0sgiyuqwlawpgfo8$_run_closure3_closure6.doCall(***/app/build.gradle:95)
    at org.gradle.api.internal.ClosureBackedAction.execute(ClosureBackedAction.java:63)
    at org.gradle.api.Action$execute.call(Unknown Source)
    at com.android.build.gradle.BaseExtension.defaultConfig(BaseExtension.groovy:373)
    at com.android.build.gradle.AppExtension_Decorated.defaultConfig(Unknown Source)
    at build_cdgdo5tni0sgiyuqwlawpgfo8$_run_closure3.doCall(***/app/build.gradle:86)
    at org.gradle.api.internal.ClosureBackedAction.execute(ClosureBackedAction.java:63)
    at org.gradle.api.internal.plugins.ExtensionsStorage$ExtensionHolder.configure(ExtensionsStorage.java:145)
    at org.gradle.api.internal.plugins.ExtensionsStorage.configureExtension(ExtensionsStorage.java:69)
    at org.gradle.api.internal.plugins.DefaultConvention$ExtensionsDynamicObject.invokeMethod(DefaultConvention.java:207)
    at org.gradle.api.internal.CompositeDynamicObject.invokeMethod(CompositeDynamicObject.java:147)
    at org.gradle.groovy.scripts.BasicScript.methodMissing(BasicScript.java:79)
    at build_cdgdo5tni0sgiyuqwlawpgfo8.run(***/app/build.gradle:69)
    at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:52)
android gradle build-process
2个回答
8
投票

根据您的异常堆栈,您应该尝试用逗号分隔您的参数,正如我在评论中所写的那样,因为在您的情况下,gradle 尝试找到一种只有一个输入参数的方法,但它没有这样的方法。

defaultConfig {
    ...
    resValue 'string', 'appId', appPackageName //here is what I mean
}

0
投票

我晚了 8 年:)但我使用的是 resValues (带 s)而不是 resValue

© www.soinside.com 2019 - 2024. All rights reserved.