Студия Android 2.0 Gradle TransformClassesWithDexForDebug не работает при использовании кнопки запуска

У меня проблема после перехода с android studio 1.5 на 2.0

В одном из моих проектов (только один) я не могу использовать кнопку запуска студии Android,

потому что тогда сборка завершается сбоем в задаче gradle "transformClassesWithDexForDebug"

с ошибкой:

:app:transformClassesWithDexForDebug
AGPBI: {"kind":"error","text":"Uncaught translation error: com.android.dx.cf.code.SimException: local variable type mismatch: attempt to set or access a value of type java.lang.Object using a local variable of type int. This is symptomatic of .class transformation tools that ignore local variable information.","sources":[{}]}
AGPBI: {"kind":"error","text":"1 error; aborting","sources":[{}]}

 FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':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: Process 'command '/usr/lib/jvm/java-8-oracle/bin/java'' finished with non-zero exit value 1

* Try:
Run with --info or --debug option to get more log output.

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:transformClassesWithDexForDebug'.
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
    at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
    at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
    at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
    at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
    at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:25)
    at org.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.java:23)
    at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)
    at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)
    at org.gradle.initialization.DefaultGradleLauncher$4.run(DefaultGradleLauncher.java:154)
    at org.gradle.internal.Factories$1.create(Factories.java:22)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:52)
    at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:151)
    at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)
    at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:99)
    at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:93)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:62)
    at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:93)
    at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:82)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:94)
    at org.gradle.tooling.internal.provider.runner.BuildModelActionRunner.run(BuildModelActionRunner.java:46)
    at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
    at org.gradle.tooling.internal.provider.runner.SubscribableBuildActionRunner.run(SubscribableBuildActionRunner.java:58)
    at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:43)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:28)
    at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:78)
    at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:48)
    at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:52)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
    at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
    at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
    at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72)
    at org.gradle.util.Swapper.swap(Swapper.java:38)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
    at org.gradle.launcher.daemon.server.health.DaemonHealthTracker.execute(DaemonHealthTracker.java:47)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
    at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:66)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
    at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:72)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
    at org.gradle.launcher.daemon.server.health.HintGCAfterBuild.execute(HintGCAfterBuild.java:41)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
    at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)
    at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:246)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54)
    at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40)
Caused by: java.lang.RuntimeException: 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: Process 'command '/usr/lib/jvm/java-8-oracle/bin/java'' finished with non-zero exit value 1
    at com.android.builder.profile.Recorder$Block.handleException(Recorder.java:54)
    at com.android.builder.profile.ThreadRecorder$1.record(ThreadRecorder.java:57)
    at com.android.builder.profile.ThreadRecorder$1.record(ThreadRecorder.java:47)
    at com.android.build.gradle.internal.pipeline.TransformTask.transform(TransformTask.java:173)
    at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.doExecute(AnnotationProcessingTaskFactory.java:244)
    at 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)
    at 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)
    ... 70 more
Caused by: 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: Process 'command '/usr/lib/jvm/java-8-oracle/bin/java'' finished with non-zero exit value 1
    at com.android.build.gradle.internal.transforms.DexTransform.transform(DexTransform.java:425)
    at com.android.build.gradle.internal.pipeline.TransformTask$3.call(TransformTask.java:178)
    at com.android.build.gradle.internal.pipeline.TransformTask$3.call(TransformTask.java:174)
    at com.android.builder.profile.ThreadRecorder$1.record(ThreadRecorder.java:55)
    ... 79 more
Caused by: java.lang.RuntimeException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/usr/lib/jvm/java-8-oracle/bin/java'' finished with non-zero exit value 1
    at com.android.ide.common.internal.WaitableExecutor.waitForTasksWithQuickFail(WaitableExecutor.java:119)
    at com.android.build.gradle.internal.transforms.DexTransform.transform(DexTransform.java:365)
    ... 82 more
Caused by: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/usr/lib/jvm/java-8-oracle/bin/java'' finished with non-zero exit value 1
    at com.android.builder.core.AndroidBuilder.runDexer(AndroidBuilder.java:1473)
    at com.android.builder.core.AndroidBuilder.preDexLibraryNoCache(AndroidBuilder.java:1659)
    at com.android.builder.internal.compiler.PreDexCache.preDexLibrary(PreDexCache.java:119)
    at com.android.builder.core.AndroidBuilder.preDexLibrary(AndroidBuilder.java:1614)
    at com.android.build.gradle.internal.transforms.DexTransform$PreDexTask.call(DexTransform.java:475)
    at com.android.build.gradle.internal.transforms.DexTransform$PreDexTask.call(DexTransform.java:429)
Caused by: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/usr/lib/jvm/java-8-oracle/bin/java'' finished with non-zero exit value 1
    at com.android.builder.core.AndroidBuilder.runDexer(AndroidBuilder.java:1457)
    ... 5 more
Caused by: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/usr/lib/jvm/java-8-oracle/bin/java'' finished with non-zero exit value 1
    at com.android.build.gradle.internal.process.GradleProcessResult.assertNormalExitValue(GradleProcessResult.java:43)
    at com.android.builder.core.AndroidBuilder$2.call(AndroidBuilder.java:1465)
    at com.android.builder.core.AndroidBuilder$2.call(AndroidBuilder.java:1457)
Caused by: org.gradle.process.internal.ExecException: Process 'command '/usr/lib/jvm/java-8-oracle/bin/java'' finished with non-zero exit value 1
    at org.gradle.process.internal.DefaultExecHandle$ExecResultImpl.assertNormalExitValue(DefaultExecHandle.java:367)
    at com.android.build.gradle.internal.process.GradleProcessResult.assertNormalExitValue(GradleProcessResult.java:41)
    ... 2 more

что еще более расстраивает, этого не происходит, когда я использую команду терминала, где те же задачи градиента

./gradlew clean generateDebugSources generateDebugAndroidTestSources mockableAndroidJar prepareDebugUnitTestDependencies assembleDebug

Файлы apk хорошо сгенерированы. Проблема появляется на MAC и Linux, поэтому она не указана для платформы, но не появляется в Android Studio 1.5.

Я отправляю свой файл gradle.build

Спасибо заранее

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

    buildscript {
        repositories {
            jcenter()
        }

        dependencies {
            classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"
        }
    }


    android {
        compileSdkVersion 23
        buildToolsVersion "23.0.2"

        defaultConfig {
            applicationId "com.wojtek.MyProject"
            minSdkVersion 19
            targetSdkVersion 23
            versionCode 4
            versionName "0.1.3"
            testInstrumentationRunner 'com.wojtek.my_project.AndroidTestRunner'
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
        lintOptions {
            abortOnError false
        }

        testOptions {

            unitTests.returnDefaultValues = true
        }
    }

    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])

        compile "com.android.support:support-annotations:$support_version"
        compile "com.android.support:appcompat-v7:$support_version"
        compile "com.android.support:recyclerview-v7:$support_version"
        compile "com.android.support:cardview-v7:$support_version"
        compile "com.android.support:design:$support_version"
        compile "com.android.support:palette-v7:$support_version"

        compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
        compile "io.reactivex:rxkotlin:$rx_kotlin"
        compile "org.jetbrains.anko:anko-sqlite:$anko_version"
        compile 'io.reactivex:rxandroid:1.1.0'
        compile "com.squareup.retrofit2:retrofit:$retrofitVersion"
        compile 'com.squareup.okhttp3:logging-interceptor:3.0.1'

        compile "com.squareup.retrofit2:converter-gson:$retrofitVersion"
        compile "com.squareup.retrofit2:adapter-rxjava:$retrofitVersion"

        apt "com.google.dagger:dagger-compiler:${daggerVersion}"
        compile "com.google.dagger:dagger:${daggerVersion}"
        provided 'org.glassfish:javax.annotation:10.0-b28'

        compile 'com.squareup.picasso:picasso:2.5.2'


        //TEST******************************************************************************************
        testCompile 'junit:junit:4.12'
        testCompile 'org.mockito:mockito-core:1.10.19'

        androidTestCompile "com.android.support:support-annotations:$support_version"
    androidTestCompile "com.android.support.test.espresso:espresso-core:$ESSPRESSO_VERSION"

    androidTestCompile ("com.android.support.test.espresso:espresso-contrib:$ESSPRESSO_VERSION"){
        exclude group: 'com.android.support', module: 'appcompat'
        exclude group: 'com.android.support', module: 'support-v4'
        exclude module: 'recyclerview-v7'
    }

    androidTestCompile 'com.android.support.test:runner:0.4.1'
    androidTestCompile 'com.android.support.test:rules:0.4.1'

    androidTestCompile 'org.mockito:mockito-core:1.10.19'
    androidTestCompile 'com.google.dexmaker:dexmaker:1.2'
    androidTestCompile 'com.google.dexmaker:dexmaker-mockito:1.2'

    androidTestApt "com.google.dagger:dagger-compiler:$daggerVersion"


}

person wojciech_maciejewski    schedule 13.04.2016    source источник
comment
См. это руководство здесь, чтобы исправить. Я надеюсь, это поможет.   -  person ucMedia    schedule 23.03.2017


Ответы (14)


в течение нескольких недель я пытался решить эту проблему.

Теперь я нашел обходной путь для этого. Если кто-то столкнулся с такой же проблемой, поможет отключение мгновенного запуска в настройках Android Studio.

Я знаю, что это не решение, но на данный момент это лучшее, что можно сделать.

ура Войтек

person wojciech_maciejewski    schedule 27.04.2016
comment
Мужик, спасибо. Это решило мою проблему. Похоже на проблему с нативными библиотеками (JNI). Печально, что мне пришлось отключить его, но, по крайней мере, он работает. Я только что заметил, что при ручной сборке gradlew работает (вероятно, потому, что она не запускает мгновенный запуск) - person Lucas Teske; 03.05.2016
comment
Вздох. У меня все еще есть эта проблема в ONE из моих модулей, даже после отключения Instant Run, отключения proguard, запуска из командной строки, аннулирования кешей и перезапуска, а также перезагрузки. Я убрал все нетривиальное, и это все еще происходит. Вздох. AS — это PoS. - person swooby; 13.05.2016

добавлять

dexOptions {
    javaMaxHeapSize "4g"
}

в андроиде

person sss    schedule 19.04.2016

Я перезапускаю Android Studio (2.0), когда у меня возникает эта проблема. Тогда это работает. Не требуется редактировать файлы gradle или отключать мгновенный запуск.

person NaN    schedule 30.04.2016
comment
В самом деле? Вы думаете, что я не запускал AS повторно, но пытался запустить его на 3 разных машинах? действительно отличный ответ - person wojciech_maciejewski; 02.05.2016
comment
я могу дать вам голос, потому что мой код запускается после перезапуска - person Aditay Kaushal; 24.05.2016

Все, что мне потребовалось, чтобы решить эту проблему, — это добавить следующие строки в файл build.gradle для мобильного приложения:

...

андроид {

    ...

    // Enabling multidex support.
    multiDexEnabled true
}

dexOptions {
    javaMaxHeapSize "4g"
}

...

}

зависимости {

...

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

...

}

person Ant    schedule 05.12.2016

Для меня добавление этой строки (или закомментирование, потому что это написано там в 13-й строке) в gradle.properties сработало:

org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

Также я отключил мгновенный запуск (Android Studio 2.1.2).

person AlexioVay    schedule 28.06.2016

У меня такая же проблема, на линуксе. По какой-то причине некоторые файлы и каталоги внутри /build не могут быть удалены даже с помощью «sudo -rf», и для меня это источник проблемы. Я построил проект в MacBookPro и никаких проблем.

person Pedro Gonzalez    schedule 19.04.2016
comment
я пытался сделать это и на MacBook, проблема все еще возникает. Может быть, попробую на Windows: P, спасибо - person wojciech_maciejewski; 20.04.2016
comment
Можете ли вы вручную удалить/создать содержимое перед запуском и посмотреть, что произойдет? - person Pedro Gonzalez; 21.04.2016
comment
тоже пробовал. попытался удалить весь проект с диска и снова вытащить его из репо. На 3-х разных компьютерах... без изменений - person wojciech_maciejewski; 21.04.2016

attempt to set or access a value of type java.lang.Object using a local variable of type int

Кажется, где-то ProGuard оптимизирует размещение переменных, но делает это неправильно.

Попробуйте отключить эту оптимизацию, добавив строку ниже в свой proguard-rules.pro:

-optimizations !code/allocation/variable

person Oleg Cherr    schedule 12.05.2016
comment
конечно, в режиме отладки ;-) - person wojciech_maciejewski; 12.05.2016
comment
О, мой плохой. Вы не используете минификацию в режиме отладки, не так ли? :) Но для некоторых людей, которые используют ProGuard, мой ответ может помочь. - person Oleg Cherr; 12.05.2016
comment
может быть. Я считаю, что это проблема с классами времени сборки Dagger2 и мгновенным запуском, но у меня нет времени проверять это; P - person wojciech_maciejewski; 12.05.2016

Рефакторинг библиотеки помог мне решить эту проблему. Должно быть, это помогло удалить повторяющиеся классы из библиотеки или из модуля приложения.

person Amit Upadhyay    schedule 22.12.2016

Я обнаружил много решений, но решил эту проблему, добавив:

Солнце 1: В build.gradle:

defaultConfig {
    multiDexEnabled true
}

Очистите свой проект и перестройте его.

Решение 2: если у вас все еще есть проблема с local.properties добавлением,

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

Sol 3 Тем не менее, у вас есть проблема с добавлением указанной ниже зависимости:

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

Любое решение обязательно подойдет вам. В противном случае добавьте все 3 в свое приложение.

person Crime_Master_GoGo    schedule 13.09.2017

Принятый ответ может сработать, но я поделюсь тем, что исправило это со мной. Это произошло из-за того, что после добавления дополнительной зависимости от библиотеки было достигнуто максимальное количество методов.

См. это руководство, чтобы исправить, перейдите к разделу Настройка вашего приложения для Multidex с разделом Gradle, чтобы добраться до сути.

person r3flss ExlUtr    schedule 23.08.2016
comment
Это не имеет ничего общего с мультидексом, но спасибо, что поделились - person wojciech_maciejewski; 24.08.2016

Ничто из вышеперечисленного не сработало для меня, но мне помогло это руководство от developer.android.com:

https://developer.android.com/studio/build/multidex.html

В нем говорится следующее:

Если для вашего minSdkVersion установлено значение 21 или выше, все, что вам нужно сделать, это установить для multiDexEnabled значение true в вашем файле build.gradle на уровне модуля, как показано здесь enter code here:

android {
    defaultConfig {
        ...
        minSdkVersion 21 
        targetSdkVersion 25
        multiDexEnabled true
    }
    ...
}

Однако, если для параметра minSdkVersion установлено значение 20 или ниже, вы должны использовать библиотеку поддержки multidex следующим образом:

Измените файл build.gradle на уровне модуля, чтобы включить multidex, и добавьте библиотеку multidex в качестве зависимости, как показано здесь:

android {
    defaultConfig {
        ...
        minSdkVersion 15 
        targetSdkVersion 25
        multiDexEnabled true
    }
    ...
}

dependencies {
  compile 'com.android.support:multidex:1.0.1'
}
person LanSky    schedule 06.12.2016

     defaultConfig {

    minSdkVersion 16
    targetSdkVersion 25  

    multiDexEnabled true
}

Просто установите это в файле build.gradle вашего приложения.

person Farmaan Elahi    schedule 28.01.2017

Это работает для меня,

  1. В build.gradle укажите текущую версию Android, например 3.0.1.

    зависимости { classpath 'com.android.tools.build:gradle:3.0.1'}

  2. В gradle-wrapper.properties измените версию gradle, например, gradle-4.4 DistributionUrl=https://services.gradle.org/distributions/gradle-4.4-all.zip

Я надеюсь, что это может помочь!

person Vishwja Suralkar    schedule 28.04.2018

person    schedule
comment
‹application android:largeHeap="true android:supportsRtl=true android:name=android.support.multidex.MultiDexApplication› ‹/application› - person AJINKYA; 03.10.2016