2016-05-28 2 views
20

Я перемещаю свои проекты из eclipse в Android Studio. При запуске одного из моих приложений я получаю следующую ошибку. Не удалось найти решение. Я также включил multidex.Ошибка: выполнение выполнено для задачи ': app: transformClassesWithDexForDebug' в студии android

Error: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 'C:\Program Files\Java\jdk1.7.0_79\bin\java.exe'' finished with non-zero exit value 1

также мой Gradle файл ниже

apply plugin: 'com.android.application' 
android { 
compileSdkVersion 23 
buildToolsVersion "23.0.3" 
defaultConfig { 
    applicationId "com.myapp" 
    minSdkVersion 9 
    targetSdkVersion 21 
    multiDexEnabled true 
}buildTypes { 
    release { 
     minifyEnabled true 
     proguardFiles getDefaultProguardFile('proguard- android.txt'), 'proguard-project.txt', 'proguard-google-api-client.txt' 
    } 
    } 
} 
dependencies { 
compile 'com.android.support:support-v4:23.4.0' 
compile 'com.google.android.gms:play-services:+' 
compile 'com.google.http-client:google-http-client-gson:1.20.0' 
compile 'com.google.code.gson:gson:2.1' 
compile 'com.android.support:appcompat-v7:23.4.0' 
compile files('libs/activation.jar') 
compile files('libs/additionnal.jar') 
compile files('libs/android-support-v7-cardview.jar') 
compile files('libs/android-support-v7-recyclerview.jar') 
compile files('libs/commons-logging-1.1.1.jar') 
compile 'com.google.api-client:google-api-client:1.18.0-rc' 
compile 'com.google.api-client:google-api-client-android:1.18.0-rc' 
compile 'com.google.api-client:google-api-client-appengine:1.18.0-rc' 
compile 'com.google.http-client:google-http-client:1.18.0-rc' 
compile 'com.google.http-client:google-http-client-android:1.18.0-rc' 
compile 'com.google.http-client:google-http-client-appengine:1.18.0-rc' 
compile 'com.google.oauth-client:google-oauth-client:1.18.0-rc' 
compile 'com.google.oauth-client:google-oauth-client-appengine:1.18.0-rc' 
compile files('libs/google-api-client-gson-1.18.0-rc.jar') 
compile files('libs/google-api-client-jackson2-1.18.0-rc.jar') 
compile files('libs/google-api-client-java6-1.18.0-rc.jar') 
compile files('libs/google-api-client-servlet-1.18.0-rc.jar') 
compile files('libs/google-http-client-jackson2-1.18.0-rc.jar') 
compile files('libs/google-http-client-jdo-1.18.0-rc.jar') 
compile files('libs/google-oauth-client-java6-1.18.0-rc.jar') 
compile files('libs/google-oauth-client-jetty-1.18.0-rc.jar') 
compile files('libs/google-oauth-client-servlet-1.18.0-rc.jar') 
compile files('libs/GraphView-4.0.1.jar') 
compile files('libs/httpclient-4.0.1.jar') 
compile files('libs/httpcore-4.0.1.jar') 
compile files('libs/jackson-core-2.1.3.jar') 
compile files('libs/jetty-6.1.26.jar') 
compile files('libs/jetty-util-6.1.26.jar') 
compile files('libs/jsr305-1.3.9.jar') 
compile files('libs/jxl.jar') 
compile files('libs/mail.jar') 
compile files('libs/transaction-api-1.1.jar') 
} 
+1

Возможный дубликат [Android java.exe завершен с ненулевым значением выхода 1] (http://stackoverflow.com/questions/29045129/android-java-exe-finished-with-non-zero-exit-value -1) –

ответ

4

Это может быть из-за следующих причин:

  1. один из кувшинов файлов внутри проекта использует старую версию Google Play Сервисы.

  2. использование multiDexEnabled true в defaultconfig

  3. Будьте конкретны с классами добавляемых в зависимости. как

    компиляции 'com.google.android.gms: играть-услуги-карты: 8.4.0'

Не нравится компилировать 'com.google.android.gms:play-services:+'

+0

попробовал оба варианта, все тот же выпуск – user1938357

+0

Я обновил свой ответ –

4

Пожалуйста Добавьте это в ваш файл Gradle

android { 
... 
defaultConfig { 
    ... 
    multiDexEnabled true 
    } 
} 

и добавить ниже зависимость в вашем Gradle

dependencies { 
    compile 'com.android.support:multidex:1.0.1' 
} 

ИЛИ другой вариант: В вашем файле манифеста добавьте пакет MultiDexApplication из библиотеки поддержки multidex в тег приложения.

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.android.multidex.myapplication"> 
    <application 
     ... 
     android:name="android.support.multidex.MultiDexApplication"> 
     ... 
    </application> 
</manifest> 
+0

попробовал это, тот же вопрос все еще – user1938357

+0

Эй, попробуйте это тоже. Он работал для меня – Naina

48

Error: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 'C:\Program Files\Java\jdk1.7.0_79\bin\java.exe'' finished with non-zero exit value 1

Верхняя ошибка из-за больше появляться много причин. Поэтому я могу сказать, почему возникает эта ошибка и как ее решить.

ПРИЧИНА 1: Дублирование имени файла класса

РЕШЕНИЕ:

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

ПРИЧИНА 2: Если у вас есть много кэш-памяти

РЕШЕНИЕ:

Когда-нибудь если у вас много кэш-памяти, тогда эта ошибка возникает, так что решите ее. перейдите к File/Invalidate caches/Restart, затем выберите Invalidate and Restart, он очистит кэш-память.

ПРИЧИНА 3: При наличии внутренней ошибки или бета-версии для возврата к стабильной версии.

РЕШЕНИЕ:

Решение просто просто идти построить меню и нажмите Clean Project и после очистки нажмите Rebuild Project.

ПРИЧИНА 4: Когда вы помните о конфигурации системы, она низкая.

РЕШЕНИЕ:

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

ПРИЧИНА 5: Проблема заключается в том, что ваш счетчик методов превышает 65K.

РЕШЕНИЕ:

открыть файл проекта build.gradle добавить

defaultConfig { 
     ... 
     multiDexEnabled true 
    } 

и в зависимости добавить ниже линии.

dependencies 
    { 
     compile 'com.android.support:multidex:1.0.0' 
    } 
+5

, если вы уже добавили multiDexEnabled true, тогда REASON-2 поможет вам. Спасибо @Ironman, его помощь мне. – Nils

+0

@Nils рада это узнать. – Ironman

+0

Как найти методы подсчета? –

1

Я попробовал все, но все же эта ошибка не будет идти, пока я не изменил мою версию JDK.

Моя версия JDK была 7, и после того, как я изменил ее на 8, ошибка исчезла, вы можете попробовать, если ничего не работает.

8

Проверьте включен ли multidex или нет в вашем build.gradle (уровень приложений) под dependencies.if не место, как показано ниже

dependecies{ 
multidexEnabled true 
} 

Проверьте gradle.properties (уровень приложений) .Если вы видите ниже кода

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

удалить # до линии, то это должно быть, как это

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

Спасибо! Это решение помогло мне !!!! –

+0

это решение работало и на меня. благодаря –

2

Я пробовал этот, и это сработало для меня. надеюсь, что это сработает и для других.

  1. Открыть build.gradle файл модуля
  2. понизить вы sdkversion от 25 до 24 или 23
  3. оного 'multiDexEnabled True'
  4. комментария этой строки: компилировать «com.android.support:appcompat-v7 : 25.1.0 '(если он находится в' зависимостях ')
  5. Синхронизируйте проект и готов к работе.

Здесь у меня есть скриншот, чтобы объяснить вещи. Go through this steps

рад помочь.

спасибо.

1

Временное решение разместить код ниже в модуле build.gradle:

android { 
    aaptOptions.cruncherEnabled = false 
    aaptOptions.useNewCruncher = false 
} 

И Синхронизировать проект.

1

Или вы можете попробовать это -

Extend your Application class with MultiDexApplication instead of Application ! 
1

повторяющееся имя Классы

как

class BackGroundTask extends AsyncTask<String, Void, Void> { 

и

class BackgroundTask extends AsyncTask<String, Void, Void> { 
-1

Мои настройки Screenshot: image

this post.

Просто отключите мгновенный запуск в настройках. Вы можете легко найти ключевое слово «мгновенное», как я показал, и он переключится на нужное вам окно.

1

Я пробовал этот вариант для большего количества проектов, и это сработало для меня. обратите внимание, что решение может настроить приложение для multidex:

android { 
    compileSdkVersion 25 
    buildToolsVersion "25.0.1" 

    defaultConfig { 
      ... 
      minSdkVersion 9 
      targetSdkVersion 25 
    } 

    buildTypes { 
      release { 
       shrinkResources true 
       minifyEnabled true 
       proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' 
      } 
    }} 

dependencies { 
     compile 'com.android.support:support-v4:25.1.0' 
     compile 'com.google.android.gms:play-services:8.3.0' 
     ... 
} 
1

Спасибо @Ironman для его полного ответа, но я хотел бы добавить свое решение в соответствии с тем, что я испытал перед этим вопросом.

В build.gradle (модуль: приложение):

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

    ... 

    dexOptions { 
      javaMaxHeapSize "4g" 
     } 

    ... 

    defaultConfig { 
      multiDexEnabled true 
    } 

Кроме того, поместите следующий в gradle.properties файл:

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

я должен упомянуть, эти цифры для моего ноутбука конфигурации (MacBook Pro с 16 ГБ оперативной памяти), поэтому, пожалуйста, отредактируйте их как свою конфигурацию.

Смежные вопросы