com.андроид.строить.преобразиться.прикладной программный интерфейс.TransformException


Я пытаюсь интегрировать google войти, в моем приложении, я добавил эти библиотеки:

compile 'com.google.android.gms:play-services-identity:8.1.0'
compile 'com.google.android.gms:play-services-plus:8.1.0'

также добавьте это в проект build gradle:

classpath 'com.google.gms:google-services:1.4.0-beta3'

также добавить плагин для сборки приложения gradle:

apply plugin: 'com.google.gms.google-services'

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

    Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
    com.android.build.transform.api.TransformException: com.android.ide.common.process.ProcessException: 
    org.gradle.process.internal.ExecException: Process 'command 'C:Program FilesJavajdk1.8.0binjava.exe'' finished with non-zero exit value 2
23 157

23 ответа:

попробуйте добавить multiDexEnabled true приложения построить.gradle.

 defaultConfig {
    multiDexEnabled true
}

EDIT:

попробуйте Стива ответ первый. В случае, если это происходит часто или первый шаг не помог multiDexEnabled может помочь. Для тех, кто любит копать глубже, вот несколько подобных вопросов (с ответами):

: app:Dexdebug ExecException закончил с ненулевым значением выхода 2

ошибка: не удалось выполнить для задачи': app: dexDebug'. com.андроид.интегрированная среда разработки.общий.процесс.ProcessException

еще одна вещь, чтобы следить за тем, что вы не используете

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

это импортирует все сервисы play, и потребуется всего лишь немного больше, чем hello world, чтобы превысить предел метода 65535 одного DEX APK.

всегда указывайте только те услуги, которые вам нужны, например:

compile 'com.google.android.gms:play-services-identity:8.3.0'
compile 'com.google.android.gms:play-services-plus:8.3.0'
compile 'com.google.android.gms:play-services-gcm:8.3.0'

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

эта ошибка начала появляться, когда я добавил некоторые новые методы для моего проекта. Я знал, что я нигде не был близок к пределу метода 65k и не хотел включать поддержку multiDex для моего проекта, если бы я мог помочь ему.

я решил это, увеличив доступную память к :app:transformClassesForDexForDebug задач. Я сделал это, указав javaMaxHeapSize in gradle.build.

gradle.строй

android {
    ...
    dexOptions {
        javaMaxHeapSize "4g" //specify the heap size for the dex process
    }
}

я попробовал это после того, как не имел успеха с другие распространенные решения этой проблемы:

  • реализует проект clean
  • вручную удаления /app/build и /build каталоги из моего проекта
  • аннулирование кэша Gradle и перезапуск Android Studio

ошибка: не удалось выполнить задачу > ': app: transformClassesWithDexForDebug'. com.андроид.строить.прикладной программный интерфейс.преобразиться.TransformException: com.андроид.интегрированная среда разработки.общий.процесс.ProcessException: орг.градля.процесс.внутренний.ExecException: команда процесса '/Library / Java/JavaVirtualMachines / jdk1.8.0_45.jdk / Contents / Home / bin / java" закончено с ненулевым значением выхода 1

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

Я также столкнулся с подобной проблемой в Android Studio 1.5.1 и gradle 1.5.0. Мне просто нужно удалить ненужные библиотеки из зависимостей, которые могут быть автоматически добавлены в сборку моего приложения.файл gradle. Один из них был : compile 'com.гуглить.андроид.gms: play-услуги: 8.4.0'. Поэтому для лучших практик старайтесь включать только определенную библиотеку play services, например, для объявлений включают только

dependencies {
    compile 'com.google.android.gms:play-services-ads:8.4.0'
}

хотя

defaultConfig {
    multiDexEnabled true
}

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

вы можете увидеть документацию Android

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.0"

    defaultConfig {
        ...
        minSdkVersion 14
        targetSdkVersion 21
        ...

        // Enabling multidex support.
        multiDexEnabled true
    }
    ...
}

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

Манифест.xml

<?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>

Я использую как 1.5.1 и столкнулся с той же проблемой. Но просто очистка проекта просто не будет делать, поэтому я попробовал что-то.

  • очистить проект
  • перезагрузка как
  • Синхронизировать Проект

Это сработало со мной, поэтому я надеюсь, что это помогает.

в моем случае измените buildToolsVersion с "24" на "23.0.2", решите проблему.

в моем случае исключение произошло, потому что все расширения службы google play не имеют такой же версии, как показано ниже

 compile 'com.google.android.gms:play-services-plus:9.8.0'
 compile 'com.google.android.gms:play-services-appinvite:9.8.0'
 compile 'com.google.android.gms:play-services-analytics:8.3.0'

это сработало, когда я изменил его на

compile 'com.google.android.gms:play-services-plus:9.8.0'
 compile 'com.google.android.gms:play-services-appinvite:9.8.0'
 compile 'com.google.android.gms:play-services-analytics:9.8.0'

Я решил следующее:

Я настроил multidex

в build.gradle вам нужно добавить следующий.

android {
...
   defaultConfig {
       ...
       // Enabling multidex support.
       multiDexEnabled true
       ...
   }
   dexOptions {
      incremental true
      maxProcessCount 4 // this is the default value
      javaMaxHeapSize "2g"
   }
...
}
dependencies {
...
   compile 'com.android.support:multidex:1.0.1'
...
}

добавить следующий в местных.свойства

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

после этого в класс приложения вам также нужно добавить Multidex.

 public class MyApplication extends MultiDexApplication {

   @Override
   public void onCreate() {
       super.onCreate();
       //mas codigo
   }

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

не забудьте добавить код строки в манифест.xml

<application
    ...
    android:name=".MyApplication"
    ...
/>

вот именно с этим было достаточно для устранения бага: Не удалось выполнить задачу ': app: transformClassesWithDexForDebug. Проверьте очень хорошо в сборке.gradle с javaMaxHeapSize "2g" и локальным.свойства орг.градля.jvmargs= - Xmx2048m имеют 2 гигабайта.

У меня была такая же проблема, когда я вернулся к старой версии через git, и эта версия была предыдущей .библиотека jar одного стороннего api, и почему-то оказалось, что оба jar одного и того же sdk, просто разные версии были в папке /libs.

сначала удалить промежуточные файлы Папка вашего приложения\app\build\intermediates ИЛИ Очистите свой проект, а затем перестроить.

Thent добавить

multiDexEnabled true

т. е.

defaultConfig {
        multiDexEnabled true
}

это работа для меня

Я решил эту проблему путем изменения использовать последний buildToolsVersion

android {
    //...
    buildToolsVersion '26.0.2' // change from '23.0.2'
    //...
}

Если вы используете последнюю версию gradle ie classpath 'com.android.tools.build:gradle:1.5.0' and classpath 'com.google.gms:google-services:1.4.0-beta3', затем попробуйте обновить последнюю поддержку respository из диспетчера SDK и перестроить весь проект.

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

<framework src="com.android.support:support-v4:+" />

Если разные зависимости имеют один и тот же jar также вызывают эту ошибку сборки.

например:

compile('com.a.b:library1');
compile('com.c.d:library2');

Если " library1 "и" library2 " имеет одну и ту же банку с именем xxx.jar, это сделает такую ошибку.

Это случилось со мной из-за утечки памяти Eclipse. Мне пришлось перезагрузить компьютер.

Я изменил пару PNG и номер сборки в gradle, и теперь я получаю это. Никакое количество очистки и перезапуска не помогло. Отключение мгновенного запуска исправило это для меня. YMMV

У меня был тот же вариант, и как только я отключил мгновенный запуск, он отлично работал на моем устройстве API16, но на устройстве API24 он отлично работал с мгновенным запуском.

надеюсь, что это поможет кому-то с той же проблемой

просто перейдите на вкладку Build-Edit Build Types-Properties-Build Type Version и понизьте ее до версии 23.0.1. нажимать OK. Это работает для android studio 1.5. Это сработало для меня.

ответ на запись находится в gradle поставить defaultConfig { multiDexEnabled правда } тогда имя приложения в манифесте android: name= " android.поддержка.мультидекс.MultiDexApplication" желаю, чтобы этот ответ был адским для кого-то

этот код решил проблему

defaultConfig {
        multiDexEnabled true
}

для простой способ реализации входа в аккаунт Google на странице: google войти в android

попробовать

dexOptions {
        javaMaxHeapSize "4g" 
    }

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

я решил эту проблему путем добавления: В build.gradle:

defaultConfig {
    multiDexEnabled true
}

на local.properties,

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

отметить зависимость:

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

очистить и перестроить.