web-dev-qa-db-ja.com

エラー:タスク ':app:transformClassesWithDexForDebug'の実行に失敗しました

エラー

エラー:タスク ':app:transformClassesWithDexForDebug'の実行に失敗しました。 com.Android.build.transform.api.TransformException:com.Android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:プロセス 'command'/usr/lib/jvm/Java-8-Oracle/bin/Java ''が0以外の終了値1で終了しました

私のアプリgradleファイル:

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

Android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"
    defaultConfig {
        applicationId 'Hidden application ID'
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
    }
    buildTypes {
        debug {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
    lintOptions {
        disable 'InvalidPackage'
    }
    packagingOptions {
        exclude 'META-INF/services/javax.annotation.processing.Processor'
    }
    productFlavors {
    }
}

repositories {
    mavenCentral()
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.Android.support:multidex:1.0.1'
    compile 'com.Android.support:appcompat-v7:23.1.1'
    compile 'com.Android.support:design:23.1.1'
    compile 'com.Android.support:cardview-v7:23.1.1'
    compile 'com.jakewharton:butterknife:7.0.1'
    compile 'com.mcxiaoke.volley:library-aar:1.0.0'
    compile 'com.google.Android.gms:play-services:8.1.0'
    compile 'com.facebook.Android:facebook-Android-sdk:4.7.0'
    compile 'com.googlecode.libphonenumber:libphonenumber:7.2.1'
    compile 'com.getbase:floatingactionbutton:1.10.1'
    compile 'com.Android.support:preference-v7:23.1.1'
}

デバッグ中にminifyEnabledをtrueに設定するとコンパイルされます。しかし、それから私は私のアプリケーションをデバッグすることはできません。

私はこの他の質問をチェックしました: タスク ':app:transformClassesWithDexForDebug'の実行に失敗しました。Android用のGoogleサインインの実装中 、回答と実装は1つだけです。残念ながら問題は解決しません。

私の知る限りでは、エラーはGradle依存関係が多すぎることが原因です。

このエラーを解決するために私を助けてください。どうもありがとうございます。

69
Saket Jain

Google Playサービスの依存関係を修正するだけです。

あなたはあなたのプロジェクトにすべてのプレイサービスを含めています。必要なものだけを追加してください。

たとえば、マップとg +サインインのみを使用している場合は、

 compile 'com.google.Android.gms:play-services:8.1.0'

compile 'com.google.Android.gms:play-services-maps:8.1.0'
compile 'com.google.Android.gms:play-services-plus:8.1.0'

ドキュメントから:

6.5より前のバージョンのGoogle Playサービスでは、APIのパッケージ全体をアプリにコンパイルする必要がありました。場合によっては、そうすることで、アプリ内のメソッド数(フレームワークAPI、ライブラリメソッド、および独自のコードを含む)を65,536個以下に抑えることがより困難になります。

バージョン6.5からは、代わりにGoogle PlayサービスAPIを選択してアプリにコンパイルすることができます。たとえば、Google FitおよびAndroid Wear APIのみを含めるには、build.gradleファイルの次の行を置き換えます。
'com.google.Android.gms:play-services:8.3.0'をコンパイルします
これらの行で

'com.google.Android.gms:play-services-fitness:8.3.0'をコンパイルします。
'com.google.Android.gms:play-services-wearable:8.3.0'をコンパイルします

全リストはここで見つけることができます

49
Krupal Shah

やってみる

dexOptions {
    javaMaxHeapSize "4g"
    preDexLibraries = false
}

理由はわかりません。 preDexLibrariesについての何か: https://sites.google.com/a/Android.com/tools/tech-docs/new-build-system/tips

@ lgdroid57によると:

次のリソースは、このコードが何をするのかを説明するのに役立ちます:link( http://google.github.io/Android-gradle-dsl/current/com.Android.build.gradle.internal.dsl。 DexOptions.html )プロパティ|説明javaMaxHeapSize | dxを呼び出すときに-JXmx *値を設定します。フォーマットは1024Mパターンに従う必要があります。 preDexLibraries |ライブラリを事前にdexするかどうか。これはインクリメンタルビルドを向上させることができますが、クリーンビルドは遅くなるかもしれません。

24
tiny sunlight

アプリのmultiDexEnabled trueファイルにbuild.gradleを追加してみてください。

  defaultConfig {
    multiDexEnabled true
}
18
Mohamed Mesalm

これがMultidexに関する問題です。あなたはいくつかのjarファイルを削除しようとすることができます、またはあなたはこのように試すことができます。 http://developer.Android.com/tools/building/multidex.html#mdex-gradle アプリのビルド。グラドル:

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

        // Enabling multidex support.
        multiDexEnabled true
    }
dependencies {
  compile 'com.Android.support:multidex:1.0.0'
}

あなたのマニフェストでは:

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

このようにmultiDexEnabled truedefault config filebuild.gradleを追加する

    defaultConfig {
        multiDexEnabled true
       }
13
Mohamed Ibrahim

個人的に私のために働いた解決策は次のとおりです。

build.gradle

defaultConfig {
        multiDexEnabled true
    }

 dexOptions {
        javaMaxHeapSize "4g"
    }
5
Camilo Soto

私の応答は少し古いですが、私のための唯一の解決策は、次のようにdefaultConfigにmultiDexEnabledオプションを追加することでした:

    Android{
        ...
        defaultConfig{
            ...
            multiDexEnabled true
        }
    }

これでうまくいかない場合は、次のコードを追加してみてください。

    configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == 'com.Android.support') {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion '26.1.0'
            }
        }
    }
}

私のエラーは、さまざまなライブラリのバージョンの問題に関連していたため、これがトリックでした。

これが誰かに役立つことを願っています:)

3
Daniel S.

Googleサービスの2つのバージョンを使用していないことを確認してください。

例えば:

compile 'com.google.firebase:firebase-messaging:9.8.0'

そして

compile 'com.google.firebase:firebase-ads:10.0.0'
2
Isaac

私はそれを解決しました!これは設定とアップデートの集まりです。 build.gradleに収まるところにこれらの変数を追加します。

Android {
packagingOptions {
    exclude 'META-INF/ASL2.0'
    exclude 'META-INF/LICENSE'
    exclude 'META-INF/NOTICE'
}
dexOptions {
    javaMaxHeapSize "4g"
}
defaultConfig {
    multiDexEnabled true
}
compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_7
    targetCompatibility JavaVersion.VERSION_1_7
}
}

それからJava 8 http://tecadmin.net/install-Oracle-Java-8-jdk-8-ubuntu-via-ppa/に更新すれば、すべて解決されます。それはbuildToolsアップデートと新しいAndroidスタジオのためです。他に何も失敗しません。

1
Pian0_M4n

イオンを使用して、私はコマンドを使用してこのエラーを修正することができました: "cordova clean"

1
Fabien Thetis

考えられるヘルプ

他のすべてのオプションを使い果たした後の絶対的な最後の手段として試みました

メモリスティック(RAM)を1つだけ取り外しました。私は今より少ない記憶を持っています、しかしそれは再び働いています。ビルドプロセスが常に破損したメモリを見つけたのか、それが100%根本原因であるのかを知ることはできません。他の点ではシステムは正常に動作しました。たぶん、これは試してみるべきもので、幸運を祈ります。

1
maturecheese

Android Studioが示唆しているように、Gradleプラグインをバージョン1.2.3から1.5.0に更新したときに、この問題が発生しました。その Webページ では、1.5.0がベータ版のようです。

正直なところ、私はバージョン1.5.0がどんな利点を持っているかわかりません、しかし私はむしろ安定したバージョンがあるまで待ちたいです。

もちろん、1.2.3に戻って問題は解決しました。

1
Miguel Palacio

ビルドに入る - >

クリーンプロジェクト - >

プロジェクトを実行:完了

私のためにAndroid 5.1に取り組んで

1
DILSHAD AHMAD

私は他のすべてのAndroid Studioを閉じて問題を解決しました。

エラーが発生したときに3つのAndroidスタジオを開いていましたが、2を閉じてもエラーが発生しませんでした。

MultiDexに関連するコードを追加する必要はありません。

1
Sanyam Jain

変えることによって

「com.google.Android.gms:play-services:8.1.0」をコンパイルします。

この問題はbuild.gradleファイルのファイル数が多すぎるために発生します。

1
Ashay Khedkar

[ビルド] - > [クリーン]をクリックして、アプリをもう一度実行します。

1
Dodi

マルチテックスは必要ありません。 Android Studio 2.1で開かれた "古い"プロジェクトの場合、gradleプラグインのバージョンを1.5.0から2.1.0に変更することで問題が解決しました。

buildscript {
    dependencies {
        classpath 'com.Android.tools.build:gradle:2.1.0'
    }
}
1

適用プラグインの宣言をファイルの末尾に移動します。

プラグインを適用する: 'com.google.gms.google-services'

0
Rene Enriquez

私は同じようなエラーがありました。ディレクトリを切り替えるだけで修正できました。自分のgitリポジトリから自分のプロジェクトを再度クローンし、それをAndroid Studioにインポートしてビルドします。プロジェクトのビルド時にAndroid Studioによって生成されたディレクトリ/ファイルの1つが破損している可能性があります。プロジェクト内のすべてのAndroid Studioで生成されたファイルを削除するか、または私がしたことを行うことで問題を解決できます。お役に立てれば。

0
user3760100

AndroidデバイスでIonicプロジェクトを実行しているときにこのエラーが発生し、Androidプラットフォームを削除して追加することで解決しました。

ionic cordova platform remove Android
ionic cordova platform add Android
0
Roman

この問題に直面したことのあるすべての人にとって、将来的に直面するでしょう。

[ビルド]メニュー - > [ビルドバリアントの選択] - > [デバッグ]への復元をクリックします。

モジュール内のdebuggableに関するコメント:app/* debug {debuggable true} * /

[ビルド]メニュー - >署名付きapkの生成 - > .... - > [ビルド]をクリックします。

0
Firsake
  1. 実行:cordova plugin rm cordova-plugin-compat --force
  2. 実行:cordova plugin追加cordo[email protected]
  3. 変更:プロジェクトフォルダのconfig.xmlで "^ 6.2.3"ではなく "6.2.3"を使用してから、platform/Androidフォルダを削除し、cordova prepare Androidを再実行して、cordova build Android

どうやら私はAndroidのマニフェストに以下を追加するすべてのソリューションを組み合わせることで問題を解決しました:

<application
...
        Android:name="Android.support.multidex.MultiDexApplication" >
...
</application>

Build.gradleアプリモジュールのフォロー

Android {
...

    dexOptions {
        javaMaxHeapSize "4g"
        preDexLibraries = false
    }
...
    defaultConfig {

        multiDexEnabled true

   }

}
0
cammando

私はただきれいにして、そしてプロジェクトを再構築してエラーが消えた

0
Gian Gomen

コンパイルタスクをSSH経由で Google Compute Engine に委任すると、この問題が発生しました。この問題の性質は、クラッシュログに示されているメモリエラーです。具体的には、Javaがビルド中に動作する仮想メモリを使い果たすとスローされます。

重要:このメモリエラーのためにgradleがクラッシュする場合、コンパイルタスクが失敗した後もgradleデーモンは実行を続けます。 gradleを使用してビルドを再試行すると、新しいgradleデーモンが割り当てられます。あなたはmustを使用して、クラッシュしたインスタンスを適切に破棄するようにしますgradlew --stop

hs_error_pidクラッシュログは、次の回避策を示しています。

# There is insufficient memory for the Java Runtime Environment to continue.
# Possible reasons:
#   The system is out of physical RAM or swap space
#   In 32 bit mode, the process size limit was hit
# Possible solutions:
#   Reduce memory load on the system
#   Increase physical memory or swap space
#   Check if swap backing store is full
#   Use 64 bit Java on a 64 bit OS
#   Decrease Java heap size (-Xmx/-Xms)
#   Decrease number of Java threads
#   Decrease Java thread stack sizes (-Xss)
#   Set larger code cache with -XX:ReservedCodeCacheSize=

仮想マシンのランタイムリソースを増やす の後、この問題は解決されました。

0
Mapsy

/Android/Android/appの両方のbuildフォルダーを削除するだけです。

そしてreact-native run-Androidで再度ビルドしてください

0