8

我遵循了https://developer.android.com/tools/building/multidex.html上的 multidex 指南

但我收到此错误Gradle DSL method not found : '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}.

构建.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'
}
4

6 回答 6

16

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

android {
    ...

    defaultConfig {
        ...

        // Enabling multidex support.
        multiDexEnabled true
    }
}
于 2018-08-22T23:49:57.793 回答
6

确保您的应用程序的 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 管理器中,确保您拥有最新的支持库和存储库。

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

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

您可以在此处阅读整个文档。

于 2014-11-13T19:25:27.373 回答
4

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

于 2014-11-13T19:13:31.523 回答
2

minSdkVersion 21

这对我有用。

于 2019-05-18T08:56:18.953 回答
0

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

defaultConfig {
   
    ...
    multiDexEnabled true
    ...
}

然后,如果您还没有依赖项块,请在底部添加此代码:

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

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

firebase_core: ^0.5.0+1

在这些更改之后,您的应用程序应该可以正常工作。

于 2020-11-05T10:40:01.357 回答
-1

确保您android:name="android.support.multidex.MultiDexApplication"在 Android 清单文件中有应用程序元素。

于 2014-11-13T12:05:26.153 回答