Android- ошибка: не удалось выполнить задачу ':app:transformClassesWithDexForRelease'
Проблема в том, что я могу запустить свое приложение при переходе на debug
режим, но он не работает, когда я переключаюсь на release
Режим.
Исключение:
FAILURE: сборка не удалась, исключение.
Не удалось выполнить задачу ':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
Когда я запустил команду сборки gradle с помощью stacktrace, то вот что я получил
./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.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69) в org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(at46) исполнительный элемент.api.internal..tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58) в org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTasternal.gra..exe.gra...SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52) в org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExnceTasg.Exa.Tyg.Exa.TyGT.ExE.Tyg.ExecuT.ExecuT. ter.execute(ExecuteAtMostOnceTaskExecuter.java:43) по адресу org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203) по адресу org.gradle.geaskTasgTefGateTackThereTegramTecgram 185) в org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66) в org.gradle.execution.taskgraph.AbstractTaskPlanExecutor $ TaskExecutorWegn.jpg.jpg.taskgraph.DefaultTaskPlanExecutor. org.gradle.execution.DefaultBuildExecuter.execute (DefaultBuildExecuter.java:37) в org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23) в org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43) в org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32) в org.gradle.exuild.Decue DefaultBuildExecuter.java:37) в org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30) в org.gradle.initialization.DefaultGradleLauncher$4.run(DefaultGradleLauncher.java:154) в org.gradle $1.create(Factories.java:22) в org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90) в org.gradle.internal.progress.DefaultBuildOperationExecutor.run (DefaultBuildOperationExecutor.jg:52).gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:151) в org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32) в org.gradle.initializationrearara ($ Default) в орг.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:93) в org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90) в org.gradle.internal.proildperationExOjjOjOjObBu:62) в org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:93) в org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:82) в org.gradle.laildBartAculerBuruIn. Выполните (InProcessBuildActionExecuter.java:94) в org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28) в org.gradle.launcher.exec.ChainingBuildActionRunner.rjAunRunBRun).gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:43) в org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:28) в org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:78) в org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:48) в org.gradleemon.exe.doBuild(ExecuteBuild.java:52) в org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36) в org.gradle.launcher.daemon.server.api.DaemonCommandExmandtion.cece org.gradle.launcher.daimon.server.api.DaemonCommandExecution.ce.java:120) в org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37) в org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed (DaemonCommandExecution.jas:) в org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute (ResetDeprecationLogger.java:26) в org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed (DaemonCommandExecution.java1). gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute (RequestStopIfSi ngleUsedDaemon.java:34) в org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) в org.gradle.launcher.daemon.server.exec.ForwardClientInput $ 2.call (для пересылки): 74) в org.gradle.launcher.daemon.server.exec.ForwardClientInput $ 2.call (ForwardClientInput.java:72) в org.gradle.util.Swapper.swap (Swapper.java:38) в org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute (ForwardClientInput.java:72) в org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) в org.gradle.launcher..health.DaemonHealthTracker.execute (DaemonHealthTracker.java:47) по адресу org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) по адресу org.gradle.launcher.daentogoserver.doBuild (LogToClient.java:66) в org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36) в org.gradle.launcher.daemon.server.api.Daemo nCommandExecution.proceed (DaemonCommandExecution.java:120) по адресу org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild (EstablishBuildEnvironment.java:72) по адресу org.gradle.launcher.daemon.exom.exeB () BuildCommandOnly.java:36) в org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) в org.gradle.launcher.daemon.server.health.HintGCAfterBuild.exte(H.GCAfterBuild.exte:41) в org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) в org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run: StartBujd org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:246) в org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.jternal.grain at at)..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 '' завершила с ненулевым значением выхода 1 в com.android.builder.profile. Рекордер $Block.handleException(Recorder.java:54) в com.android.builder.profile.ThreadRecorder$1.record(ThreadRecorder.java:57) в com.android.builder.profile.ThreadRecorder$1.record(ThreadRecorder.java:47) в com.android.build.gradle.internal.pipeline.TransformTask.transform(TransformTask.java:173) в org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75) в org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.doExecute(AnnotationProcessingTaskFactory.java:244) в org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:209) в org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTask.exe.Exas.Exas.Exas.Exk.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'' завершено с не нулевой выход Значение 1 в com.android.build.gradle.internal.transforms.DexTransform.transform(DexTransform.java:422) в com.android.build.gradle.internal.pipeline.TransformTask$3.call(TransformTask.java:178) в com.android.build.gradle.internal.pipeline.TransformTask$3.call(TransformTask.java:174) на 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: обрабатывать "команду" / Библиотека / Java / JavaVirtualMachines / jdk1.8.0_73.jdk / Contents / Home / bin / java '' завершено с ненулевым значением выхода 1 на com.android.builder.core.AndroidBuilder.runDexer(AndroidBuilder.java:1472) на ком.android.builder.core.AndroidBuilder.convertByteCode(AndroidBuilder.java:1389) на com.android.build.gradle.internal.transforms.DexTransform.transform(DexTransform.java:250) ... еще 80 вызвано: java.util.concurrent.E xecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: обрабатывать "команду" /Library/Java/JavaVirtualMachines/jdk1.8.0_73.jdk/Contents/Home/bin/java ' 'закончено с ненулевым значением выхода 1 в com.android.builder.core.AndroidBuilder.runDexer(AndroidBuilder.java:1456) ... еще 82 Причины: com.android.ide.common.process.ProcessException: org. gradle.process.internal.ExecException: обработать 'команду'/Library/Java/JavaVirtualMachines/jdk1.8.0_73.jdk/Contents/Home/bin/java'' с ненулевым значением выхода 1 в com.android.build.gradle.internal.process.GradleProcessResult.assertNormalExitValue(GradleProcessResult.java:43) по адресу com.android.builder.core.AndroidBuilder$2.call(AndroidBuilder.java:1464) по адресу com.android.builder.core.AndroidBuilder AndroidBuilder.java:1456) Вызвано: org.gradle.process.internal.ExecException: обработать 'команду'/Library/Java/JavaVirtualMachines/jdk1.8.0_73.jdk/Contents/Home/bin/java'', завершившуюся с нуль Выходное значение 1 в org.gradle.process.internal.DefaultExecHandle$ExecResultImpl.assertNormalExitValue(DefaultExecHandle.java:367) в com.android.build.gradle.internal.process.GradleProcessResult.assertNormalExitValue41... Grade. еще 2
я использую
- 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
Мой файл build.gradle
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
от него. Почему это так, есть ли другой способ решить это?
40 ответов
Для меня проблема была решена после того, как я удалил jar
файл из моего проекта. кажется, что один из jar
файлы внутри моего проекта использовали более старую версию google play services
,
Я исправил только этот код.
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
}
Если вы делаете multiDexEnabled = true
в defaultConfig приложения вы получите желаемый результат.
defaultConfig {
minSdkVersion 14
targetSdkVersion 22
multiDexEnabled = true
}
Я получил также ту же ошибку:
Ошибка: не удалось выполнить задачу ':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 }
Попробуйте свою сборку еще раз.
Примечание: 4g - это 4 гигабайта, и это максимальный размер кучи для работы в режиме dex.
НЕТ НЕОБХОДИМОСТИ ДЛЯ MULTIDEX, Я ПОВТОРЯЮ, НЕТ НЕОБХОДИМОСТИ ДЛЯ MULTIDEX
Позвольте мне уточнить: Multidex - это в основном инструмент, который поставляется с Android, и если вы установите его в значение true, приложения с>64 000 методов могут компилироваться с использованием слегка измененного процесса сборки. Однако вам нужно использовать multidex только если ваша ошибка выглядит так:
Неполадки при записи: слишком много ссылок на поля: 131000; максимальное значение равно 65536. Вы можете попробовать использовать параметр --multi-dex.
или как это
Преобразование в формат Dalvik не удалось: невозможно выполнить dex: идентификатор метода отсутствует в [0, 0xffff]: 65536
Но это не тот случай здесь! Проблема здесь (по крайней мере для меня) вызвана зависимостями вашего файла build.gradle.
РЕШЕНИЕ: используйте конкретные зависимости, а не просто импортируйте целый раздел зависимостей!
Например, если вам нужна зависимость Play Services для местоположения, импортируйте ее только для местоположения.
ДЕЛАТЬ:
compile 'com.google.android.gms:play-services-location:11.0.4'
ЗАПРЕЩАЕТСЯ:
compile 'com.google.android.gms:play-services'
Другой проблемой, которая может быть причиной этого, может быть какая-то внешняя библиотека, которую вы используете, которая ссылается на предыдущую версию вашей зависимости. Выполните следующие действия в этом случае:
- Зайдите в SDK manager и установите все обновления для ваших зависимостей
- Убедитесь, что ваш файл build.gradle показывает последнюю версию. Чтобы получить последнюю версию, используйте эту ссылку: https://developers.google.com/android/guides/setup
- Отредактируйте свою библиотеку (или установите обновленную версию, если она существует), чтобы ссылаться на последнюю версию
Я знаю, что этот вопрос старый, но мне нужно получить этот ответ, потому что использование multidex без какой-либо причины может вызвать ANR для вашего приложения! ТОЛЬКО используйте multidex, если вы уверены, что вам это нужно, и вы понимаете, что это такое.
Я сам часами пытался решить эту проблему без мультидекса, и я просто хотел поделиться своими выводами - надеюсь, это поможет
Добавлять multiDexEnabled
true в вашем defaultConfig на уровне приложения gradle
,
defaultConfig {
applicationId "your application id"
minSdkVersion 16
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner"android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}
У меня была похожая проблема в моем приложении. Вот что я сделал.
1.Добавить это для 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. Некоторые классы FireBase не были идентифицированы. (Невозможно получить поставщика com.google.firebase.provider).
Метод решения, который объясняется здесь.
Я получил эту ошибку при обновлении сервисов Google play до 9.0 с 7.5
Имея ошибку ниже одного:
compile 'com.google.android.gms:play-services:9.0.0'
Когда я изменился на
compile 'com.google.android.gms:play-services:7.5.0'
Там нет ошибки. Попробуй это
После обновления до Android 3.4 я начал получать ошибку, перепробовал все вышеперечисленные решения.
Основной причиной проблемы было обновление Android Studio, включив мгновенный запуск.
Следовательно, одно из решений, которое вы можете попробовать, - это отключить мгновенный запуск, если он включен для вас, исправил мою проблему.
Ну, я верю, что на вопрос ответили и его принимают. Но я собираюсь написать, что я сталкиваюсь и как я решил это.
Я получил также ту же ошибку:
Ошибка: не удалось выполнить задачу ':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-разрядного сервера: CodeCache переполнен. Компилятор был отключен.
а также
Ошибка: предупреждение виртуальной машины Java HotSpot(TM) 64-разрядного сервера: попробуйте увеличить размер кэша кода с помощью -XX:ReservedCodeCacheSize=
Так что я сделал? Я просто иду в Android Studio:
Файл> Неправильные кэши / перезапуск.. > Неправильный и перезапуск
Быстрая починка!
Дополнительное примечание:
Что я нашел в консоли Gradle:
: app: incrementalDebugTasks: app: prePackageMarkerForDebug: app: fastDeployDebugExtractor: app: generateDebugInstantRunAppInfo: app: transformClassesWithDexForDebug Для запуска dex в процессе работы демону Gradle требуется большая куча. В настоящее время он имеет около 910 МБ. Для более быстрой сборки увеличьте максимальный размер кучи для демона Gradle до более чем 2048 МБ. Для этого установите org.gradle.jvmargs = -Xmx2048 M в проекте gradle.properties. Для получения дополнительной информации см. https://docs.gradle.org/current/userguide/build_environment.html: app: transformClassesWithDexForDebug FAILED
Подробнее об этом читайте здесь в блоге Oracle
Я только что написал этот код в gradle.properties, и теперь все в порядке
org.gradle.jvmargs=-XX:MaxHeapSize\=2048m -Xmx2048m
- Удалите фляги в своем gradle
- Синхронизировать это
- Скопируйте эту банку и синхронизируйте ее
Это сработало для меня.
Соль 1: В build.gradle
:
defaultConfig {
multiDexEnabled true
}
Очистите ваш проект и восстановите.
Соль 2: в local.properties
добавлять,
org.gradle.jvmargs=-XX\:MaxHeapSize\=512m -Xmx512m
Соль 3
compile 'com.android.support:multidex:1.0.1'
Еще добавьте все 3 в вашем приложении.
Это сработало для меня только с использованием определенного сервиса.
Например вместо использования:
compile 'com.google.android.gms:play-services:10.0.1'
Я использовал:
com.google.android.gms:play-services-places:10.0.1
Я знаю, что это старый вопрос, но все же. Каждый раз, когда это случается со мной, это потому, что я включил все библиотеки play-services. Просто измените play-services:xxx на play-service-:xxx в файле build.gradle(module)
Просто установив для multiDexEnabled значение true, все работало нормально.
defaultConfig
{
multiDexEnabled true
}
У меня такая же проблема. Однажды программа работала отлично, а следующий - нет. Я проверил на Github изменения, которые я сделал. Для меня проблема была на build.gradle (Module:app) в зависимостях:
compile 'com.android.tools.build:gradle:2.1.2'
Эта линия была той, которая вызывала проблему. После изменения приложение снова работало нормально
Я обновляю jdk до 1.8.0_74, Adnroid-studio до версии 2.1 Preview 1 и добавляю в файл приложения.
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
В DefaultConfig Добавить multiDexEnabled = true
defaultConfig {
applicationId "com.test"
minSdkVersion 16
targetSdkVersion 25
versionCode 1
versionName "1.0"
multiDexEnabled = true
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
Таким образом, моя проблема не была решена путем добавления флага multiDexEnabled. Это на самом деле было там до получения сообщения об ошибке.
Что решило эту ошибку, так это то, что я использовал одну и ту же версию всех библиотек play-services. В одной библиотеке у меня было 11.8.0, но в приложении, которое использует библиотеку, я использовал 11.6.0, и это различие было причиной сообщения об ошибке.
Таким образом, вместо того, чтобы менять свои библиотеки на определенную версию, подобную предыдущим ответам, возможно, вы захотите проверить, что вы используете одну и ту же версию повсюду, так как смешивание версий явно не рекомендуется в Android Studio предупреждениями.
После долгих усилий я просто добавил ниже учетные данные, и мне это удалось
1) файл app-> 'proguard-rules.pro'
-ignorewarnings
-keep class * {
public private *;
}
2) А также добавлено в app -> build.gradle file
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'
}
Добавьте эту строку в свой build.gradle
defaultConfig {
............
aaptOptions.cruncherEnabled = false
aaptOptions.useNewCruncher = false
compileOptions.encoding = 'ISO-8859-1'
multiDexEnabled true
}
По умолчанию Android Studio имеет максимальный размер кучи 1280 МБ. Если вы работаете над большим проектом или в вашей системе много оперативной памяти, вы можете повысить производительность, увеличив максимальный размер кучи для процессов Android Studio, таких как ядро IDE, демон Gradle и демон Kotlin.
Если вы используете 64-битную систему с как минимум 5 ГБ ОЗУ, вы также можете настроить размер кучи для своего проекта вручную. Для этого выполните следующие действия:
Нажмите Файл> Настройки в строке меню (или Android Studio > Настройки в macOS). Щелкните Внешний вид и поведение> Настройки системы> Настройки памяти.
Для получения дополнительной информации нажмите
Если после обновления сервисов 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'
}
Это случилось со мной даже на отладочных сборках, и я просто очистил все папки сборок на уровне модуля и на уровне проекта, и это сработало.
Просто измените сервисы Google Play в Gradle (модульное приложение) с 9.xx на более низкую версию 8.4.0 для меня
Ни один из этих ответов не работал для меня. Я использую Android studio 3.4.1.
Мне удалось создать проект, но Android-студия показала эту ошибку, когда собиралась развернуть его на мобильном устройстве. Оказывается, это "мгновенные пробежки" по вине.
Следуйте этому ответу: /questions/239106/ne-udalos-ustanovit-prilozhenie-v-android-studio/239150#239150
Для тех, кто все еще использует VS-TACO и имеет эту проблему. Это происходит из-за несоответствия версий файлов JAR.
Вам все еще нужно добавить исправления в build.gradle
файл в platforms\android
папка:
defaultConfig {
multiDexEnabled true
}
dependencies {
compile 'com.android.support:multidex:1.0.3'
}
Лучше делать в build-extras.gradle
файл (который автоматически связывается с файлом build.gradle) со всеми другими вашими изменениями, если они есть, и удалите все в platforms/android
папку, но оставить там только build-extras.gradle
файл. Тогда просто скомпилируйте.
Я исправил мой, я добавил в свой проект > приложение > libs android volley.jar, и моя проблема была решена
Добавьте эту строку в файл ProGuard-rules.pro:
-keepparameternames
Это помогло мне при обфускации библиотеки. Я получал исключение zip, когда добавлял библиотеку в качестве зависимости.