Ответ 1
Для меня проблема была решена после того, как я удалил файл jar
из своего проекта. похоже, что один из файлов jar
внутри моего проекта использовал более старую версию google play services
.
Проблема в том, что я могу запускать свое приложение, когда меняю режим debug
, но он не работает, когда я переключаюсь в режим release
.
Исключение:
НЕИСПРАВНОСТЬ: Сбой сборки с исключением.
Выполнение не выполнено для задачи ': 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/jdk 1.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: Process 'command'/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) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46) at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35) на 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) на org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52) на org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53) на 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) на 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) на 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) на org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28) at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35) at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:43) на org.gradle.launcher.exec.InProcessBuildActionExecuter.выполнить (InProcessBuildActionExecuter.java:28) at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:78) at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:48) на org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:52) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36) на org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) на org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37) на org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26) на org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) на org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34) на 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) на 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.daemon.server.health.DaemonHealthTracker.execute(DaemonHealthTracker.java:47) на org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) на org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:66) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36) на org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) на org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(CreateBuildEnvironment.java:72) at org.gradle.launcher.daemon.server.exec.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) на org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy $1.run(StartBuildOrRespondWithBusy.java:50) на 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) Вызывается: 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: процесс 'command'/Library/Java/JavaVirtualMachines/jdk1.8.0_73.jdk/Contents/Home/bin/java '' завершен с ненулевым значением выхода 1 в com.android.builder.profile.Recorder $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) 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) на 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/jdk 1.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: Process 'command'/Library/Java/JavaVirtualMachines/jdk1.8.0_73.jdk/Содержание/Главная/bin/java '' завершена с ненулевым значением выхода 1 в com.android.builder.core.AndroidBuilder.runDexer(AndroidBuilder.java:1472) на com.android.builder.core.AndroidBuilder.convertByteCode(AndroidBuilder.java:1389) на 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: Process 'command'/Library/Java/JavaVirtualMachines/jdk1.8.0_73.jdk/Содержание/Главная/bin/java '' завершена с ненулевым значением выхода 1 в com.android.builder.core.AndroidBuilder.runDexer(AndroidBuilder.java:1456) ... еще 82 Вызвано: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command'/Library/Java/JavaVirtualMachines/jdk1.8.0_73.jdk/Contents/Home/bin/java '' завершено с ненулевым значением выхода 1 at 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 $2.call(AndroidBuilder.java:1456) Вызвано: org.gradle.process.internal.ExecException: процесс "команда" /Library/Java/JavaVirtualMachines/jdk 1.8.0_73.jdk/Contents/Home/bin/java '' завершен с ненулевым значением выхода 1 at org.gradle.process.internal.DefaultExecHandle $ExecResultImpl.assertNormalExitValue(DefaultExecHandle.java:367) на com.android.build.gradle.internal.process.GradleProcessResult.assertNormalExitValue(GradleProcessResult.java:41) ... еще 2
Я использую
Мой файл 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:[email protected]'
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:[email protected]'
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
. Почему это, есть ли другой способ его решить?
Для меня проблема была решена после того, как я удалил файл 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
}
Я тоже получил ту же ошибку:
Ошибка: выполнение выполнено для задачи ': Приложение: 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 - это в основном инструмент, который поставляется с Android, и если вы установите его на true, приложения s > 64 000 методов могут компилироваться с использованием слегка измененного процесса сборки. Однако вам нужно использовать multidex, если ваша ошибка выглядит так:
проблема с записью: слишком много ссылок на поле: 131000; max - 65536. Вы можете попробовать использовать опцию -multi-dex.
или как это
Не удалось преобразовать формат Dalvik: невозможно выполнить идентификатор метода dex: не в [0, 0xffff]: 65536
Но это не случай здесь! Проблема здесь (для меня по крайней мере) вызвана вашими зависимостями файла build.gradle.
РЕШЕНИЕ: Используйте определенные зависимости - не просто импортируйте весь раздел зависимостей!
Например, если вам нужна зависимость Службы Службы для местоположения, импортируйте ее для местоположения.
compile 'com.google.android.gms:play-services-location:11.0.4'
compile 'com.google.android.gms:play-services'
Другой проблемой, которая может быть причиной этого, может быть какая-то внешняя библиотека, которую вы используете, которая ссылается на предыдущую версию вашей зависимости. Выполните следующие шаги в этом случае:
Я знаю, что этот вопрос старый, но мне нужно получить этот ответ, потому что использование multidex без причины может потенциально вызвать ANR для вашего приложения! ТОЛЬКО используйте multidex, если вы уверены, что вам это нужно, и вы понимаете, что это такое.
Я сам часами пытался решить эту проблему без multidex, и я просто хотел поделиться своими выводами - надеюсь, что это поможет
У меня была аналогичная проблема в моем приложении. Вот что я сделал.
1.add это для build.gradle в модуле: app
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).
Способ устранения этого объяснения здесь.
Добавьте 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
}
Я получил эту ошибку. При обновлении сервисов 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'
Ошибок нет. Попробуйте это
Ну, я считаю, что на вопрос ответили и были приняты. Но я собираюсь написать то, с чем я столкнулся, и как я это решил.
Я тоже получил ту же ошибку:
Ошибка: выполнение выполнено для задачи ': 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' C:\Program Files\Java\jdk1.8.0_60\bin\java.exe '' завершен с ненулевым значением выхода 1
Мне не повезло применить все настройки и добиться успеха. Но когда я снова попытался отладить проект. На этот раз я получил три ошибки (включая выше):
Ошибка: Предупреждение VM на 64-битном сервере Java HotSpot (TM): CodeCache заполнен. Компилятор отключен.
и
Ошибка: Предупреждение VM на 64-битном сервере Java HotSpot (TM): попробуйте увеличить размер кеша кода с помощью -XX: ReservedCodeCacheSize =
Так что я сделал? Я просто зашел в Android Studio:
Файл > Недействительный кеш/перезагрузка.. > Недействительный и перезапуск
Быстрое исправление!
Дополнительное примечание:
Что я нашел в Gradle Консоль:
: приложение: incrementalDebugTasks: Приложение: prePackageMarkerForDebug: Приложение: fastDeployDebugExtractor: Приложение: generateDebugInstantRunAppInfo: Приложение: transformClassesWithDexForDebug Для запуска dex в процессе демона Gradle требуется большая куча. В настоящее время он имеет приблизительно 910 МБ. Для более быстрой сборки увеличьте максимальный размер кучи для демона Gradle до более чем 2048 МБ.Для этого установите org.gradle.jvmargs = -Xmx2048M в проекте gradle.properties. Для получения дополнительной информации см. https://docs.gradle.org/current/userguide/build_environment.html: app: transformClassesWithDexForDebug FAILED
Подробнее об этом Здесь в блоге Oracle
После обновления до Android 3.4 я начал получать ошибку, перепробовал все вышеперечисленные решения.
Основной причиной проблемы было обновление Android Studio, включив мгновенный запуск.
Следовательно, одно из решений, которое вы можете попробовать, - это отключить мгновенный запуск, если он включен для вас, исправил мою проблему.
Это сработало для меня.
Я только что написал этот код в gradle.properties, и теперь это нормально
org.gradle.jvmargs=-XX:MaxHeapSize\=2048m -Xmx2048m
Он работал со мной только с использованием определенного сервиса.
Например, вместо использования:
compile 'com.google.android.gms:play-services:10.0.1'
Я использовал:
com.google.android.gms:play-services-places:10.0.1
Я знаю это немного старый вопрос, но все же. Каждый раз это случается со мной, потому что я включил все игровые сервисы библиотеки. Просто измените игровые сервисы: x.x.x на play-service-: x.x.x в файле build.gradle(module)
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'
Остальное добавить все 3 в ваше приложение.
просто установив для multiDexEnabled значение true, работало нормально
defaultConfig
{
multiDexEnabled true
}
Я обновил jdk до 1.8.0_74, Android-studio до 2.1 превью 1 и добавил в файл приложения
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
У меня была та же проблема. Однажды программа работала отлично, а следующее не было. Я проверил на Github изменения, которые я сделал. Для меня проблема была в build.gradle(Module: app) в зависимостях:
compile 'com.android.tools.build:gradle:2.1.2'
Эта строка была той, которая вызывала проблему. После его изменения приложение снова запускалось правильно.
добавьте эту строку в свой build.gradle
defaultConfig {
............
aaptOptions.cruncherEnabled = false
aaptOptions.useNewCruncher = false
compileOptions.encoding = 'ISO-8859-1'
multiDexEnabled true
}
В DefaultConfig Добавить multiDexEnabled = true
defaultConfig {
applicationId "com.test"
minSdkVersion 16
targetSdkVersion 25
versionCode 1
versionName "1.0"
multiDexEnabled = true
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
Просто измените сервисы Google Play в gradle (приложение модуля) от 9.x.x до нижней версии 8.4.0 для меня.
Я исправил мой, добавленный в проект проекта > > libs. android volley.jar и моя проблема была решена.
Если вы столкнулись с проблемой после обновления сервисов 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'
}
Решена же проблема, просто добавив строку в buid.gradle(уровень приложения) добавьте эту строку в defaultConfig
multiDexEnabled = true
Таким образом, моя проблема не была решена путем добавления флага multiDexEnabled. Это на самом деле было там до получения сообщения об ошибке.
Что решило эту ошибку, так это то, что я использовал одну и ту же версию всех библиотек play-services. В одной библиотеке у меня было 11.8.0, но в приложении, которое использует библиотеку, я использовал 11.6.0, и это различие было причиной сообщения об ошибке.
Таким образом, вместо того, чтобы менять свои библиотеки на определенную версию, подобную предыдущим ответам, возможно, вы захотите проверить, что вы используете одну и ту же версию повсюду, так как смешивание версий явно не рекомендуется в Android Studio предупреждениями.
Это случилось со мной даже на отладочных сборках, и я просто очистил все папки сборок уровня модуля и уровня проекта, и это сработало, да, просто так.
Ни один из этих ответов не работал для меня. Я использую Android studio 3.4.1.
Мне удалось создать проект, но Android-студия показала эту ошибку, когда собиралась развернуть его на мобильном устройстве. Оказывается, это "мгновенные пробежки" по вине.
Следуйте этому ответу: fooobar.com/questions/96431/...
В моем случае Функция мгновенного запуска Android Studio отключилась после включения приложения. Работает нормально.
Чтобы включить его, перейдите в Файл → Настройки → Сборка, выполнение, развертывание → Мгновенный запуск и установите флажок "Включить мгновенный запуск
Я действительно не знаю как, но ошибка исчезла после того, как я все это сделал:
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, измените расположение JDK в структуре проекта
3
Удалить папку сборки в моем проекте
4
Очистить и восстановить проект
Для тех, кто все еще использует 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
. Тогда просто скомпилируйте.