首页 文章

Android-错误:任务执行失败':app:transformClassesWithDexForRelease'

提问于
浏览
149

问题是,当我切换到 debug 模式时,我能够运行我的应用程序,但是当我切换到 release 模式时,它会失败 .

例外:

FAILURE: Build failed with an exception.

任务':app:transformClassesWithDexForRelease'的执行失败 . com.android.build.api.transform.TransformException:com.android.ide.common.process.ProcessException:java.util.concurrent.ExecutionException:com.android.ide.common.process.ProcessException:org.gradle.process . internal.ExecException:进程'命令'/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home/bin/java''以非零退出值1结束

When i ran the gradle build command with stacktrace then this is what i get

./gradlew app:transformClassesWithDexForRelease --stacktrace

com.android.build.api.transform.TransformException:com.android.ide.common.process.ProcessException:java.util.concurrent.ExecutionException:com.android.ide.common.process.ProcessException:org.gradle.process .internal.ExecException:进程'命令'/Library/Java/JavaVirtualMachines/jdk1.8.0_73.jdk/Contents/Home/bin/java''以非零退出值1结束

例外情况是:

org.gradle.api.tasks.TaskExecutionException:任务':app:transformClassesWithDexForRelease'的执行失败 . 在org.gradle上的org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)位于org.gradle.api.internal的org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)上的.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35) org.gradle.api.internal.tasks.execution上的.gasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52) .skipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecu org.gradle.execution.taskgraph.DefaultTaskGraphExecuter上的ter.exe执行(ExecuteAtMostOnceTaskExecuter.java:43)org.gradle.execution.taskgraph.DefaultTaskGraphExecuter $ EventFiringTaskWorker.exe(DefaultTaskTraphExecuter.java) 185)org.gradle.execution.taskgraph.AbstractTaskPlanExecutor $ TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66)org.gradle.execution.taskgraph.AbstractTaskPlanExecutor $ TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)at org.gradle.execution .taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:25)atg.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:110)at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)at org.gradle.execution.DefaultBuildExecuter.access $ 000(DefaultBuildExecuter.jav) a:23)org.gradle.execution.DefaultBuildExecuter $ 1.proceed(DefaultBuildExecuter.java:43)org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)at org.gradle.execution.DefaultBuildExecuter.execute( DefaultBuildExecuter.java:37)org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)org.gradle.initialization.DefaultGradleLauncher $ 4.run(DefaultGradleLauncher.java:154)atg.gradle.internal.Factories $ 1 . 或者org.gradle.internal.progress.DefaultOperationExecutor.run(DefaultBuildOperationExecutor.java:52)org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)中的.create(Factories.java:22) . gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:151)atg.gradle.initialization.DefaultGradleLauncher.access $ 200(DefaultGradleLauncher.java:32)org.gradle.initialization.DefaultGradleLauncher $ 1.create(DefaultGradleLauncher.java:99)在组织 . gradle.initialization.DefaultGradleLauncher $ 1.create(DefaultGradleLauncher.java:93)org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java) :62)org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:93)org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:82)at org.gradle.launcher.exec.InProcessBuildActionExecuter $ DefaultBuildController . 运行(InProcessBuildActionExecuter.java:94)atg.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)at atOrg.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:43)org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:28)at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute( ContinBuildActionExecuter.java:78)org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:48)org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:52)at org org.gradle.launcher上的org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)中的.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)位于org.gradle.launcher.daemon.server的org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)上的.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37) .exec.ResetDeprecationLogger.execute(ResetDeprecationLogger . java:26)atg.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)在org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)org.gradle.launcher.daemon.server.exec.ForwardClientInput $ 2.call(ForwardClientInput.java:74)at org . org.gradle.launcher.daemon.server.exec上的org.gradle.util.Swapper.swap(Swapper.java:38)中的gradle.launcher.daemon.server.exec.ForwardClientInput $ 2.call(ForwardClientInput.java:72)在org.gradle.launcher.daemon.server.health.DaemonHealthTracker.execute的org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)上的.ForwardClientInput.execute(ForwardClientInput.java:72) (daemonHealthTracker.java:47)org.gradle上的org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) org.gradle.launcher.daemon上的org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)中的.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:66)位于org.gradle.launcher.daemon.server.exec的org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:72)的.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) .BuildCommandOnly.execute(BuildCommandOnly.java:36)org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)org.gradle.launcher.daemon.server.health.HintGCAfterBuild.execute (HintGCAfterBuild.java:41)org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy $ 1.run(StartBuildOrRespondWithBusy . java:50)在org.grad的org.gradle.launcher.daemon.server.DaemonStateCoordinator $ 1.run(DaemonStateCoordinator.java:246) le.internal.concurrent.ExecutorPolicy $ CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54)at org.gradle.internal.concurrent.StoppableExecutorImpl $ 1.run(StoppableExecutorImpl.java:40)引起:java.lang.RuntimeException:com.android .build.api.transform.TransformException:com.android.ide.common.process.ProcessException:java.util.concurrent.ExecutionException:com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException :进程'命令'/Library/Java/JavaVirtualMachines/jdk1.8.0_73.jdk/Contents/Home/bin/java''在com.android.builder.profile.Recorder上以非零退出值1结束$ Block.handleException (Recorder.java:54)com.android.builder.ThreadRecorder $ 1.record(ThreadRecorder.java:57)at com.android.builder.profile.ThreadRecorder $ 1.record(ThreadRecorder.java:47)at com . org.gr上的org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)中的android.build.gradle.internal.pipeline.TransformTask.transform(TransformTask.java:173) adle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory $ IncrementalTaskAction.doExecute(AnnotationProcessingTaskFactory.java:244)org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory $ StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:220)at org . gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory $ IncrementalTaskAction.execute(AnnotationProcessingTaskFactory.java:231)org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory $ StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:209)at org . gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)... 68更多引起的:com.android.build.api.transform.TransformException:com.android.ide.common.process.ProcessException:java.util.concurrent.ExecutionException:com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:进程'命令'/Library/Java/JavaVirtualMachines/jdk1.8.0_73.jdk/Contents/Home/bin/java''完成在com.android.build.gradle.inns.transform.DexTransform.transform(DexTransform.java:422)com.android.build.gradle.internal.pipeline.TransformTask $ 3.call(TransformTask . )中的非零退出值为1 . java:178)com.android.build.gradle.internal.pipeline.TransformTask $ 3.call(TransformTask.java:174)at com.android.builder.profile.ThreadRecorder $ 1.record(ThreadRecorder.java:55).. .77更多引起:com.android.ide.common.process.ProcessException:java.util.concurrent.ExecutionException:com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:Process'命令'/Library/Java/JavaVirtualMachines/jdk1.8.0_73.jdk/Contents/Home/bin/java''在com.android.builder.core.AndroidBuilder.runDexer上完成非零退出值1(AndroidBuilder.java: 1472)在com.andro id.builder.core.AndroidBuilder.convertByteCode(AndroidBuilder.java:1389)at com.android.build.gradle.internal.transforms.DexTransform.transform(DexTransform.java:250)... 80更多引起:java.util .concurrent.ExecutionException:com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:进程'命令'/Library/Java/JavaVirtualMachines/jdk1.8.0_73.jdk/Contents/Home/bin / java''在com.android.builder.core.AndroidBuilder.runDexer(AndroidBuilder.java:1456)中以非零退出值1结束... ... 82更多引起:com.android.ide.common.process.ProcessException :org.gradle.process.internal.ExecException:进程'命令'/Library/Java/JavaVirtualMachines/jdk1.8.0_73.jdk/Contents/Home/bin/java''在com.android中以非零退出值1结束com.android.builder.core.Androi上com.android.builder.core.AndroidBuilder $ 2.call(AndroidBuilder.java:1464)的.build.gradle.internal.process.GradleProcessResult.assertNormalExitValue(GradleProcessResult.java:43) dBuilder $ 2.call(AndroidBuilder.java:1456)引起:org.gradle.process.internal.ExecException:处理'命令'/Library/Java/JavaVirtualMachines/jdk1.8.0_73.jdk/Contents/Home/bin/java' '在org.gradle.process.internal.DefaultExecHandle $ ExecResultImpl.assertNormalExitValue(DefaultExecHandle.java:367)的com.android.build.gradle.internal.process.GradleProcessResult.assertNormalExitValue(GradleProcessResult.java)中以非零退出值1结束:41)......还有2个

I am using

  • Android Studio 2.0 Beta 6

  • Java版:Java(TM)SE运行时环境(版本1.8.0_73-b02)

  • Gradle版本:com.android.tools.build:gradle:2.0.0-beta6

  • 我启用了Multidex

My build.gradle file

apply plugin: 'com.android.application'
apply plugin: 'com.getkeepsafe.dexcount'

android {

    def VERSION_CODE = 52
    def VERSION_NAME = "1.0"
    compileSdkVersion 23
    buildToolsVersion '23.0.2'

    defaultConfig {
        applicationId "com.example.app"
        manifestPlaceholders = [appName: "Personal App"]
        minSdkVersion 14
        targetSdkVersion 23
        renderscriptTargetApi 19
        renderscriptSupportModeEnabled true
        versionCode VERSION_CODE
        versionName VERSION_NAME

        // Enabling multidex support.
        multiDexEnabled true
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
        encoding = 'UTF-8'
    }

    signingConfigs {
        livekeystore {
            storeFile file('../key.jks')
            keyAlias 'livekeystore'
            keyPassword '123asd'
            storePassword '123asd'
        }
    }


    buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
            zipAlignEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
            signingConfig signingConfigs.burgerking

            manifestPlaceholders = [googleMapsKey: "@string/release_google_map_key", appNameSuffix: ""]
        }

        debug {
            applicationIdSuffix '.dev'
            debuggable true
            minifyEnabled false
            shrinkResources false
            zipAlignEnabled false

            manifestPlaceholders = [googleMapsKey: "@string/debug_google_map_key", appNameSuffix: ' (Dev-' + VERSION_CODE + ')']

        }
    }

    dexOptions {
        incremental true
        javaMaxHeapSize "4g" // 2g should be also OK
    }

    useLibrary 'org.apache.http.legacy'

}

repositories {
    maven { url 'https://mint.splunk.com/gradle/' }
    maven { url "http://dl.bintray.com/populov/maven" }
    mavenCentral()
}

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.getkeepsafe.dexcount:dexcount-gradle-plugin:0.4.2'
        classpath 'com.newrelic.agent.android:agent-gradle-plugin:4.244.0'
    }
}


dependencies {
    compile 'com.google.code.gson:gson:2.4'
    compile 'com.android.support:appcompat-v7:23.2.0'
    compile 'com.android.support:recyclerview-v7:23.2.0'
    compile 'com.android.support:cardview-v7:23.2.0'
    compile 'com.android.support:design:23.2.0'
    compile 'com.android.support:multidex:1.0.1'
    compile 'com.google.android.gms:play-services-base:8.4.0'
    compile 'com.google.android.gms:play-services-location:8.4.0'
    compile 'com.google.android.gms:play-services-analytics:8.4.0'
    compile 'com.google.android.gms:play-services-maps:8.4.0'
    compile 'com.google.android.gms:play-services-ads:8.4.0'
    compile 'com.googlecode.libphonenumber:libphonenumber:7.0.5'
    compile 'com.facebook.android:facebook-android-sdk:4.1.1'
    compile 'de.greenrobot:eventbus:2.4.0'
    compile 'com.viewpagerindicator:library:2.4.1@aar'
    compile 'com.nineoldandroids:library:2.4.0'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.squareup:pollexor:2.0.2'
    compile 'com.makeramen:roundedimageview:2.1.0'
    compile 'com.mcxiaoke.volley:library:1.0.16@aar'
    compile files('libs/now-auth-api.jar')
    compile 'com.jakewharton:butterknife:5.1.2'
    compile 'com.github.ksoichiro:android-observablescrollview:1.2.0'
    compile 'io.card:android-sdk:5.3.0'
    compile 'com.appboy:android-sdk-ui:1.10.3'
    testCompile 'junit:junit:4.11'
    testCompile('org.mockito:mockito-core:1.9.5') {
        exclude group: 'org.hamcrest'
    }
    testCompile('org.powermock:powermock-module-junit4:1.5') {
        exclude group: 'org.hamcrest'
    }
    testCompile('org.powermock:powermock-api-mockito:1.6.2') {
        exclude group: 'org.hamcrest'
    }

    compile 'me.grantland:autofittextview:0.2.1'

}

如果我从中移除 minifyEnabled true ,我似乎能够使我的发布版本正常工作 . 为什么会这样,有另一种解决方法

29 回答

  • 5

    我修复了这个代码 .

    local.properties

    org.gradle.jvmargs=-XX\:MaxHeapSize\=512m -Xmx512m
    

    你应该在gradle上做这个改变

    defaultConfig {
        applicationId "yourProjectPackage"
        minSdkVersion 15
        versionCode 1
        versionName "1.0"
        targetSdkVersion 23
    
        multiDexEnabled true //important
    }
    
  • 2

    如果您在应用程序的defaultConfig中创建 multiDexEnabled = true ,您将获得所需的结果 .

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 22
        multiDexEnabled = true
    }
    
  • 34

    对我来说,在我从项目中删除 jar 文件后,问题是 solved . 似乎我的项目中的一个 jar 文件使用的是旧版本的 google play services .

  • 1

    我确实收到了同样的错误:

    错误:任务':app:transformClassesWithDexForDebug'的执行失败 . com.android.build.api.transform.TransformException:java.lang.RuntimeException:com.android.ide.common.process.ProcessException:java.util.concurrent.ExecutionException:com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException:进程'命令'C:\ Program Files \ Java \ jdk1.8.0_60 \ bin \ java.exe''以非零退出值1结束

    我通过以下步骤解决了这个问题:

    • 打开应用程序的build.gradle(而不是项目根目录中的那个)并添加:
    android {
    //snippet
    //add this into your existing 'android' block
    
        dexOptions {
        javaMaxHeapSize "4g"
        }
    
    //snip
    }
    
    • 再次尝试构建 .

    Note: 4g is 4 Gigabytes and this is a maximum heap size for dex operation.

  • 7

    不需要MULTIDEX,我重复一遍,不需要MULTIDEX


    让我详细说明:Multidex基本上是Android附带的工具,如果将其设置为true,那么具有> 64,000种方法的应用程序可以使用稍微改变的构建过程进行编译 . 但是,如果您的错误如下所示,则只需使用multidex:

    写输出麻烦:字段引用太多:131000; max是65536.您可以尝试使用--multi-dex选项 .

    或者像这样

    转换为Dalvik格式失败:无法执行dex:方法ID不在[0,0xffff]中:65536

    但这就是 not 这里的情况!这里的问题(至少对我而言)是由build.gradle文件的依赖项引起的 .

    THE SOLUTION: 利用特定的依赖关系 - 不要只导入整个依赖关系部分!

    例如,如果您需要位置的Play服务依赖项,则只导入它 for location.

    DO:

    compile 'com.google.android.gms:play-services-location:11.0.4'
    

    请勿:

    compile 'com.google.android.gms:play-services'
    

    可能导致此问题的另一个问题可能是您正在使用的某种外部库,即引用先前版本你的依赖 . 在这种情况下请遵循以下步骤:

    • 转到SDK管理器,并安装依赖项的任何更新

    • 确保build.gradle文件显示最新版本 . 要获取最新版本,请使用以下链接:https://developers.google.com/android/guides/setup

    • 编辑您的库(或安装更新版本,如果存在),以引用最新版本


    我知道这个问题已经过时了,但我需要在那里得到这个答案,因为无缘无故地使用multidex可能会导致ANR 's for your app! ONLY use multidex if you'确定你需要它,并且你明白它是什么 .

    我自己花了好几个小时试图在没有multidex的情况下解决这个问题,我只是想分享我的发现 - 希望这会有所帮助

  • 0

    我的应用程序中遇到了类似的问题 . 这就是我做的 .

    1.在模块:app中为build.gradle添加此内容

    multiDexEnabled = true
    

    所以代码就像:

    android {
        compileSdkVersion 25
        buildToolsVersion "25.0.2"
        defaultConfig {
            applicationId "com.example..."
            minSdkVersion 17
            targetSdkVersion 25
            versionCode 1
            versionName "1.0"
            multiDexEnabled = true
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        }
    
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    }
    

    这对我有用 . 希望这也有助于你:)

    在同一个项目中我也使用 Firebase . 因此启用multiDexEnabled可以解决Firebase中针对 Pre Lollipop devices 的另一个问题 . 某些FireBase类未被识别 . ( Unable to get provider com.google.firebase.provider ) .
    解决问题的方法解释here.

  • 22

    在应用级别 gradle 的defaultConfig中添加 multiDexEnabled true .

    defaultConfig {
        applicationId "your application id"
        minSdkVersion 16
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner"android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
    }
    
  • 19

    将Google Play服务从7.5升级到9.0时出现此错误

    出现以下错误:

    compile 'com.google.android.gms:play-services:9.0.0'
    

    当我改为

    compile 'com.google.android.gms:play-services:7.5.0'
    

    没有错误 . 试试这个

  • 9

    好吧,我相信这个问题得到了回答并被接受了 . 但我要写下我面对的问题以及如何解决它 .

    我确实收到了同样的错误:

    错误:任务':app:transformClassesWithDexForDebug'的执行失败 . com.android.build.api.transform.TransformException:java.lang.RuntimeException:com.android.ide.common.process.ProcessException:java.util.concurrent.ExecutionException:com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException:进程'命令'C:\ Program Files \ Java \ jdk1.8.0_60 \ bin \ java.exe''以非零退出值1结束

    我没有幸运应用所有设置并获得成功 . 但是当我尝试再次调试项目时 . 这次我得到三个错误(包括上面):

    错误:Java HotSpot(TM)64位服务器VM警告:CodeCache已满 . 编译器已被禁用 .

    错误:Java HotSpot(TM)64位服务器VM警告:尝试使用-XX增加代码缓存大小:ReservedCodeCacheSize =

    那我做了什么?我只是去Android Studio:

    File > Invalidate Caches / Restart.. > Invalidate & Restart

    快速解决!

    额外注意:

    我在Gradle控制台中找到的内容:

    :app:incrementalDebugTasks:app:prePackageMarkerForDebug:app:fastDeployDebugExtractor:app:generateDebugInstantRunAppInfo:app:transformClassesWithDexForDebug要在进程中运行dex,Gradle守护程序需要更大的堆 . 它目前有大约910 MB . 要加快构建速度,请将Gradle守护程序的最大堆大小增加到2048 MB以上 . 为此,请在项目gradle.properties中设置org.gradle.jvmargs = -Xmx2048M . 有关更多信息,请参阅https://docs.gradle.org/current/userguide/build_environment.html:app:transformClassesWithDexForDebug FAILED

    在Oracle博客上阅读有关它的更多信息Here

  • 0
    • 删除gradle中的jar文件

    • 同步它

    • 复制该jar并同步它

    这对我有用 .

  • 1

    我刚刚将这段代码写入gradle.properties,现在还可以

    org.gradle.jvmargs=-XX:MaxHeapSize\=2048m -Xmx2048m
    
  • 2

    它只对我使用特定的服务 .

    例如,而不是使用:

    compile 'com.google.android.gms:play-services:10.0.1'

    我用了:

    com.google.android.gms:play-services-places:10.0.1

  • 3

    我知道这是一个古老的问题,但仍然存在 . 每次这发生在我身上,都是因为我已经包含了所有的播放服务库 . 只需在build.gradle(模块)文件中将play-services:x.x.x更改为play-service-:x.x.x.

  • 20

    只需将 multiDexEnabled 设置为true就可以了 .

    defaultConfig 
        {
            multiDexEnabled true     
        }
    
  • 1

    Sol 1:build.gradle

    defaultConfig {
        multiDexEnabled true
    }
    

    清理您的项目并重建 .

    Sol 2:local.properties 添加,

    org.gradle.jvmargs=-XX\:MaxHeapSize\=512m -Xmx512m
    

    Sol 3

    compile 'com.android.support:multidex:1.0.1'
    

    Else add all 3 in your application.

  • 159

    我将jdk更新为1.8.0_74,Adnroid-studio更新为2.1预览1并添加到应用程序文件

    @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        MultiDex.install(this);
    }
    
  • 25

    我有同样的问题 . 有一天,该计划运作良好,以下情况并非如此 . 我检查了Github我做的改变 . 对我来说,问题出在依赖项中的build.gradle(Module:app):

    compile 'com.android.tools.build:gradle:2.1.2'
    

    这条线是造成问题的那条线 . 更改后,应用程序再次正常运行

  • 44

    build.gradle 中添加此行

    defaultConfig {
        ............
        aaptOptions.cruncherEnabled = false
        aaptOptions.useNewCruncher = false
        compileOptions.encoding = 'ISO-8859-1'
        multiDexEnabled true
    }
    
  • 6

    在DefaultConfig中添加 multiDexEnabled = true

    defaultConfig {
        applicationId "com.test"
        minSdkVersion 16
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        multiDexEnabled = true
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    
  • 2

    只需将gradle(模块应用)中的google play服务从9.x.x更改为较低版本8.4.0对我有用

  • 11

    我修好了我添加到我的 project > app > libs android volley.jar我的问题解决了

  • 2

    如果您在更新Google Play服务9.8.0后遇到问题,请将此添加到您的依赖项:

    `dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    compile 'com.google.firebase:firebase-messaging:9.8.0'
    compile 'com.google.android.gms:play-services-maps:9.8.0'
    compile 'com.google.android.gms:play-services-location:9.8.0'
    compile 'com.google.firebase:firebase-database:9.8.0'
    compile 'com.google.firebase:firebase-auth:9.8.0'
    compile 'com.google.firebase:firebase-crash:9.8.0'
    compile 'com.google.maps.android:android-maps-utils:0.4.4'
    compile 'com.google.android.gms:play-services-appindexing:9.8.0'
    
    }
    
  • 7

    因此,通过添加multiDexEnabled标志,我的解决方案无法解决 . 它实际上是在收到错误消息之前 .

    什么解决了我的错误是确保我使用的是所有播放服务库的相同版本 . 在一个库中我有11.8.0但是在应用程序中使用了我使用11.6.0的库,这种差异是导致错误消息的原因 .

    因此,不要将您的库更改为特定版本(如之前的答案),也许您想要检查您是否使用相同版本,因为Android Studio会通过警告明确阻止混音版本 .

  • 1

    这发生在我身上,甚至在调试版本上,只是清除了所有模块级别和项目级别的构建文件夹,它工作,是的就是这样 .

  • 75

    在我完成所有这些之后,我真的不知道怎么了,但是虫子消失了:

    1

    删除 implementation 'com.google.android.gms:play-services:12.0.1'

    并添加

    implementation 'com.google.android.gms:play-services-location:12.0.1'
    implementation 'com.google.android.gms:play-services-maps:12.0.1'
    implementation 'com.google.android.gms:play-services-places:12.0.1'
    

    2

    更新git,jdk,更改Project结构中的JDK位置

    3

    删除项目中的构建文件夹

    4

    清理并重建项目

  • 1

    对于那些仍然使用VS-TACO并且有这个问题的人 . 这是由于jar文件的版本不一致而发生的 .

    您仍需要在 platforms\android 文件夹中为 build.gradle 文件添加更正:

    defaultConfig {
            multiDexEnabled true 
     }
    
     dependencies {
          compile 'com.android.support:multidex:1.0.3'
     }
    

    最好在 build-extras.gradle 文件(自动链接到build.gradle文件)中进行所有其他更改(如果有),并在 platforms/android 文件夹中全部删除,但只留下 build-extras.gradle 文件 . 然后只需编译 .

  • 0

    I disabled the Zip Align Enabled option here

    我对最新的AndroidStudio(3.2 B1)有随机问题,并尝试了上述所有解决方案 . 我通过禁用“构建类型”中的“Zip Align Enabled”选项来实现它

  • 0

    经过多次努力,我刚刚添加了以下凭证,我成功了

    1)app->'proguard-rules.pro'文件

    -ignorewarnings
    
    -keep class * {
        public private *;
    }
    

    2)并在app - > build.gradle文件中添加

    android {
    
            ...........................
        defaultConfig {
            ..................  
    
         multiDexEnabled true
        }
    
    
        buildTypes {
            debug {
                minifyEnabled true
                useProguard false
                proguardFiles getDefaultProguardFile('proguard-android.txt'),
                        'proguard-rules.pro'
            }
            release {
                minifyEnabled true
                proguardFiles getDefaultProguardFile('proguard-android.txt'),
                        'proguard-rules.pro'
            }
            innerTest {
                matchingFallbacks = ['debug', 'release']
            }
    
        }
    
    ...................................................
    }
    
    dependencies {
        ..................................
        implementation  'com.android.support:multidex:1.0.2'
    }
    
  • 0

    您可以通过将项目ext属性 googlePlayServicesVersion 添加到 app/App_Resources/Android/app.gradle 文件来解决此问题,如下所示:

    project.ext {
        googlePlayServicesVersion = "+"
    }
    

相关问题