找不到Gradle DSL方法:' multiDexEnabled()'

时间:2014-11-13 11:48:41

标签: android android-studio android-gradle multidex android-multidex

我按照https://developer.android.com/tools/building/multidex.html

处的多指南指南进行操作

但我收到此错误未找到Gradle DSL方法:'multiDexEnabled()'。我更新了Android内置工具,Android支持存储库和库。这是我的gradle.build文件。我在这里做错了吗?

Could not find method multiDexEnabled() for arguments [true] on ProductFlavorDsl_Decorated{name=main, minSdkVersion=ApiVersionImpl{mApiLevel=10, mCodename='null'}, targetSdkVersion=ApiVersionImpl{mApiLevel=17, mCodename='null'}, renderscriptTargetApi=-1, renderscriptSupportMode=null, renderscriptNdkMode=null, versionCode=-1, versionName=null, applicationId=test.com.app, testApplicationId=null, testInstrumentationRunner=null, testHandleProfiling=null, testFunctionalTest=null, signingConfig=null, resConfig=null}.

的build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 19
    buildToolsVersion "21.1.1"

    defaultConfig {
        applicationId "test.com.app"
        minSdkVersion 10
        targetSdkVersion 17

        // Enabling multidex support.
        multiDexEnabled true
    }

    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile project(':addThisSDK')
    compile project(':centeredContentButton')
    compile project(':googleplayservices_lib')
    compile files('libs/addthis0.0.8.jar')
    compile files('libs/adxtag2.4.6.jar')
    compile files('libs/android-support-v4.jar')
    compile files('libs/aws-android-sdk-1.7.1.1-debug.jar')
    compile files('libs/commons-lang-2.6.jar')
    compile files('libs/crittercism_v4_4_0_sdkonly.jar')
    compile files('libs/dd-plist.jar')
    compile files('libs/FiksuAndroidSDK_4.1.1.jar')
    compile files('libs/iqengines-sdk-barcode.jar')
    compile files('libs/irEventTracker-1.2.jar')
    compile files('libs/jolt-core-0.0.7.jar')
    compile files('libs/json-utils-0.0.7.jar')
    compile files('libs/jsoup-1.7.2.jar')
    compile files('libs/kooaba-api-v4-java.jar')
    compile files('libs/signpost-commonshttp4-1.2.1.1.jar')
    compile files('libs/signpost-core-1.2.1.1.jar')
    compile 'com.android.support:multidex:1.0.0'
}

6 个答案:

答案 0 :(得分:5)

确保您应用的gradle文件中的依赖项具有以下行:

dependencies {
compile 'com.android.support:multidex:1.0.0'
compile 'com.android.support:appcompat-v7:21.0.0'

}

此外,在您的全局(项目)gradle文件中,请确保您拥有最新的gradle版本。

dependencies {

    classpath 'com.android.tools.build:gradle:0.14.0'
}

在SDK管理器中,确保您拥有最新的支持库和repo。

在AndroidManifest.xml中。添加以下行:

android:name="android.support.multidex.MultiDexApplication"

您可以阅读整篇文档here

答案 1 :(得分:4)

您必须运行Android Gradle插件的0.14.0或更高版本。有关每个版本中的内容的详细信息,请参阅http://tools.android.com/tech-docs/new-build-system上的发行说明。

答案 2 :(得分:4)

multiDexEnabled true命令放在错误的位置时,我也收到此错误。确保它在defaultConfig代码块中:

android {
    ...

    defaultConfig {
        ...

        // Enabling multidex support.
        multiDexEnabled true
    }
}

答案 3 :(得分:0)

设置

minSdkVersion 21

这对我有效。

答案 4 :(得分:0)

在app / build.gridle中的defaultConfig下添加:

defaultConfig {
   
    ...
    multiDexEnabled true
    ...
}

然后,如果您还没有依赖项阻止,则在底部完全按照以下步骤添加此代码:

dependencies {
    ...
    implementation "com.android.support:multidex:1.0.3"
    ...
}

最后,在pubspec.yaml下的dependencies中添加:

firebase_core: ^0.5.0+1

这些更改之后,您的应用应该可以正常运行。

答案 5 :(得分:-1)

确保应用元素中的Android清单文件中包含android:name="android.support.multidex.MultiDexApplication"