当前位置: 首页 > 知识库问答 >
问题:

Android-任务“:app:TransformClassesWithMultiDexListForDebug”执行失败

巫马泓
2023-03-14

当我尝试运行我非常简单的android应用程序时,我得到以下输出:

信息:Gradle:正在执行任务:[:app:assembledebug]

我最初没有使用multidex,而我在使用标准Dex时也遇到了类似的错误。下面是我在没有Multidex的情况下得到的原始输出:

信息:Gradle:正在执行任务:[:app:assembledebug]

信息:Kotlin:Kotlin JPS插件已禁用信息:6/2/16,11:28 AM-编译已完成,但在7s 624ms内出现1个错误和0个警告

下面是我的应用程序级Build.Gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "24.0.0 rc4"

    defaultConfig {
        applicationId "com.example.XXX.testapplication"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
    }
    buildTypes {
//        debug {
//            minifyEnabled true
//            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
//        }
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    dexOptions {
        incremental = true;
        javaMaxHeapSize "4g"
        //preDexLibraries = false
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:multidex:1.0.1'
    compile 'com.android.support:appcompat-v7:23.4.0'
    compile 'com.android.support:design:23.4.0'
}

我已经尝试了运行各种行的注释和未注释的组合,如您所见,但没有任何效果。

我的“lib”文件夹中没有文件。

// Top-level build file where you can add configuration options common to all sub-projects/modules.

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

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.example.XXX.testapplication">

    <application
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:supportsRtl="true"
            android:name="android.support.multidex.MultiDexApplication"
            android:theme="@style/AppTheme">
        <activity
                android:name=".MainActivity"
                android:label="@string/app_name"
                android:theme="@style/AppTheme.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>

                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
    </application>

</manifest>

共有1个答案

孟海
2023-03-14

如果您要集成multidex支持,那么您需要以一种理解的方式来实现。从此链接

请尝试执行以下更改:

在defaultConfig闭包中将multiDexEnabled true添加到gradle文件中。

<application
    ...
    android:name="android.support.multidex.MultiDexApplication">
    ...
</application>

还要注意,如果您的项目已经有了一个应用程序类,请重写名为attachBaseContext()的方法,并在该方法中调用:multidex.install(this)

 类似资料: