web-dev-qa-db-ja.com

エラー:タスク ':app:dexDebug'の実行に失敗しました。 com.Android.ide.common.process.ProcessException

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

com.Android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:プロセス 'command' C:\ Program Files\Java\jdk1.8.0_40\bin\Java.exe ''は非-ゼロ終了値2

同様の質問と解決策をすべて検索しましたが、助けにはなりません。あなたのような専門家が出てくることを願っています。

プロジェクトコードがbitbucketにアップロードされました: https://[email protected]/tainule/numad-huizhang.git

アプリとエンドポイントの2つのモジュールがあります。以下はModule:app:からのものです

apply plugin: 'com.Android.application'

Android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "edu.neu.madcourse.huizhang1"
        minSdkVersion 14
        targetSdkVersion 21
        versionCode 3
        versionName "2.1"
//        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'

        }
    }
}

dependencies {


    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile "com.Android.support:appcompat-v7:21.0.+"
    compile 'com.google.Android.gms:play-services:+'
    compile 'com.google.guava:guava:18.0'
    compile 'com.google.code.gson:gson:1.7.2'
    compile 'org.Apache.httpcomponents:httpmime:4.4-beta1'
    compile 'org.Apache.httpcomponents:httpclient:4.4-beta1'
    compile 'org.Apache.httpcomponents:httpcore:4.4-beta1'
    compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.3'
    compile project(path: ':endpoint', configuration: 'Android-endpoints')
    compile files('src/main/res/libs/KeyValueAPI.jar')

}

以下はモジュールのエンドポイントからです:

buildscript {
    repositories {
        mavenLocal()
        mavenCentral()
    }
    dependencies {
        classpath 'com.google.appengine:gradle-appengine-plugin:1.9.17'
    }
}

repositories {
    mavenCentral();
}

apply plugin: 'Java'
apply plugin: 'war'
apply plugin: 'appengine'

sourceCompatibility = 1.7
targetCompatibility = 1.7

dependencies {
    appengineSdk 'com.google.appengine:appengine-Java-sdk:1.9.8'
    compile 'com.google.appengine:appengine-endpoints:1.9.8'
    compile 'com.google.appengine:appengine-endpoints-deps:1.9.8'
    compile 'javax.servlet:servlet-api:2.5'
    compile 'com.googlecode.objectify:objectify:4.0b3'
    compile 'com.ganyo:gcm-server:1.0.2'
//        compile 'com.github.fengdai:alertdialogpro-theme-material:0.1.0'

}

appengine {
    downloadSdk = true
    appcfg {
        oauth2 = true
    }
    endpoints {
        getClientLibsOnBuild = true
        getDiscoveryDocsOnBuild = true
    }
}
71
Hui

最後に、compile 'com.google.guava:guava:18.0'を 'com.google.guava:guava-jdk5:17.0'にコンパイルするように変更して、この問題を解決しました。

11
Hui

Jarファイルまたはlibが複数回表示されているようです。

そのため、libフォルダーから.jarファイルを削除してから、次のようにします。

Build> Rebuild

82
Binod Rokka

私は示されているのと同じ問題エラーがありました、私は追加することによってそれを解決します

defaultConfig {        
    // Enabling multidex support.
    multiDexEnabled true
}

この問題が発生したのは、Androidによって課せられた65Kメソッドのdex制限を超えたためです。

45
Netero

同様の状況にある人が役立つと思うように、私はそれを追加しています。

したがって、multiDexEnabled = trueの後でも同じエラーが発生していました。 重複ライブラリがありませんでした。上記のソリューションはどれも機能しませんでした。エラーログを読むと、OutOfMemErrorの問題が主な理由であることがわかり、何らかの方法でheap sizeを変更することを考えました。したがって、これ-

dexOptions {
        preDexLibraries = false
        javaMaxHeapSize "4g"
    }

「4g」は4 GBのHeapSizeを意味します。そしてうまくいきました!私もそれがあなたのためになることを願っています。

20
Harisewak

私にとっては、/app/libsに含まれる同じライブラリの複数のバージョンがありました。 Parseを使用していて、ParseFacebookUtilsV3-1.9.0.jarParseFacebookUtilsV4-1.9.0.jarの両方がありました。

V3 jarを削除すると、問題が解決します。

15
sonph

3つの条件がこの問題を引き起こす可能性があります。

  1. 異なるモジュールには異なるjarがあります
  2. ライブラリにはjarが含まれていましたが、srcには関連するソースを追加してください
  3. gradle repeatに含まれる例:

    コンパイルfileTree(include:[‘* .jar’]、dir: ‘libs’)

    コンパイルファイル(「libs/xxx.jar」)

中国語を読むことができる場合、ここを読んでください エラー:タスク「:app:dexDebug」の実行に失敗しました。> com.Android.ide.common.process.ProcessException:o

7
yabin ya

同じクラスを2回インクルードした後、この問題が発生しました

6
konmik

同じエラーメッセージが表示されました。私の解決策があなたの問題も解決するかどうかはよくわかりません。

プロジェクト構造(アプリ)で、コンパイルSDKバージョンをAPI 22からAPI 21に変更し、ビルドツールバージョンを22.0.0から21.1.2に変更しました。

最新のAPI 22 Adroid 5.1をダウンロードしたとき、作成するプロジェクトはすべてこのAPIを使用しているため、問題が発生します。たぶん、Androidチームはこの修正を探しています。

6
cauldyclark

最近、企業プロジェクトの1つをEclipseからAndroid St​​udioに移行しました。

移行中に次のエラーも発生しました。

エラー:タスク ':appName:transformClassesWithDexForDebug'の実行に失敗しました。 com.Android.build.api.transform.TransformException:com.Android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:Process 'command' /Library/Java/JavaVirtualMachines/jdk1.7.0_79。 jdk/Contents/Home/bin/Java ''は、ゼロ以外の終了値2で終了しました

それを解決するには、いくつかのことをしなければなりませんでした。

  1. ライブラリから重複したjar /ファイルを削除/更新

コンパイル 'com.Android.support:support-v4:23'コンパイル 'com.google.Android.gms:play-services:9.0.0'

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

  1. MultiDexEnabledをTrueに設定します

defaultConfig {multiDexEnabled true}

  1. ヒープサイズを増やします。

dexOptions {増分true javaMaxHeapSize "4g"}

4
Ahmed

これは、オブジェクト参照が多すぎる場合にも当てはまります。ビルドの結果、特にタスク:dex:multiDebugを見てください:

出力の書き込みに関する問題:メソッド参照が多すぎます:67114;最大は65536です。

3
Tommy Chan

メインプロジェクトのgradleスクリプトに次のコード行を入れてみてください。

configurations { all*.exclude group: 'com.Android.support', module: 'support-v4' }

プロジェクトにリンクされた2つのライブラリがあり、それらは 'com.Android.support:support-v4:22.0.0'を使用しています。

それが誰かを助けることを願っています。

2
Beemo

以下を削除することで同じ問題を解決しました。

compile fileTree(include: ['*.jar'], dir: 'libs')

各jarファイルに追加:

compile files('libs/yourjarfile.jar')
2
Ayaz Alifov

プロジェクトをきれいにして再構築してみてください。まったく同じ質問がありましたが、これで解決しました。

1
robert

私は同じ問題を抱えており、「com.Android.support:appcompat-v7:21.0.+」をコンパイルして「com.Android.support:appcompat-v7:21.0をコンパイルする」のように「+」を正確な数値に変更することで解決しました.0 "。

これは私のために動作します。 :)

0
tomisyourname

EclipseプロジェクトをAndroid studioに変換するときに同じ問題に直面しました。私の場合、Eclipseプロジェクトに設計ライブラリjarファイルがあり、gradleで同じ依存関係を追加してエラーを引き起こしました。 jarをlibsから削除します。

0
Gibs

私が変更され :

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

compile 'com.google.Android.gms:play-services-auth:9.0.0'

に:

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

compile 'com.google.Android.gms:play-services-auth:9.0.0'

0
Abdul haleem