エラー:タスク ':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
}
}
最後に、compile 'com.google.guava:guava:18.0'を 'com.google.guava:guava-jdk5:17.0'にコンパイルするように変更して、この問題を解決しました。
Jarファイルまたはlibが複数回表示されているようです。
そのため、libフォルダーから.jarファイルを削除してから、次のようにします。
Build
> Rebuild
私は示されているのと同じ問題エラーがありました、私は追加することによってそれを解決します
defaultConfig {
// Enabling multidex support.
multiDexEnabled true
}
この問題が発生したのは、Androidによって課せられた65Kメソッドのdex制限を超えたためです。
同様の状況にある人が役立つと思うように、私はそれを追加しています。
したがって、multiDexEnabled = true
の後でも同じエラーが発生していました。 重複ライブラリがありませんでした。上記のソリューションはどれも機能しませんでした。エラーログを読むと、OutOfMemError
の問題が主な理由であることがわかり、何らかの方法でheap size
を変更することを考えました。したがって、これ-
dexOptions {
preDexLibraries = false
javaMaxHeapSize "4g"
}
「4g」は4 GBのHeapSize
を意味します。そしてうまくいきました!私もそれがあなたのためになることを願っています。
私にとっては、/app/libs
に含まれる同じライブラリの複数のバージョンがありました。 Parseを使用していて、ParseFacebookUtilsV3-1.9.0.jar
とParseFacebookUtilsV4-1.9.0.jar
の両方がありました。
V3
jarを削除すると、問題が解決します。
3つの条件がこの問題を引き起こす可能性があります。
gradle repeatに含まれる例:
コンパイルfileTree(include:[‘* .jar’]、dir: ‘libs’)
コンパイルファイル(「libs/xxx.jar」)
中国語を読むことができる場合、ここを読んでください エラー:タスク「:app:dexDebug」の実行に失敗しました。> com.Android.ide.common.process.ProcessException:o
同じクラスを2回インクルードした後、この問題が発生しました
同じエラーメッセージが表示されました。私の解決策があなたの問題も解決するかどうかはよくわかりません。
プロジェクト構造(アプリ)で、コンパイルSDKバージョンをAPI 22からAPI 21に変更し、ビルドツールバージョンを22.0.0から21.1.2に変更しました。
最新のAPI 22 Adroid 5.1をダウンロードしたとき、作成するプロジェクトはすべてこのAPIを使用しているため、問題が発生します。たぶん、Androidチームはこの修正を探しています。
最近、企業プロジェクトの1つをEclipseからAndroid Studioに移行しました。
移行中に次のエラーも発生しました。
エラー:タスク ':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で終了しました
それを解決するには、いくつかのことをしなければなりませんでした。
コンパイル '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'
へ
defaultConfig {multiDexEnabled true}
dexOptions {増分true javaMaxHeapSize "4g"}
これは、オブジェクト参照が多すぎる場合にも当てはまります。ビルドの結果、特にタスク:dex:multiDebugを見てください:
出力の書き込みに関する問題:メソッド参照が多すぎます:67114;最大は65536です。
メインプロジェクトのgradleスクリプトに次のコード行を入れてみてください。
configurations { all*.exclude group: 'com.Android.support', module: 'support-v4' }
プロジェクトにリンクされた2つのライブラリがあり、それらは 'com.Android.support:support-v4:22.0.0'を使用しています。
それが誰かを助けることを願っています。
以下を削除することで同じ問題を解決しました。
compile fileTree(include: ['*.jar'], dir: 'libs')
各jarファイルに追加:
compile files('libs/yourjarfile.jar')
プロジェクトをきれいにして再構築してみてください。まったく同じ質問がありましたが、これで解決しました。
私は同じ問題を抱えており、「com.Android.support:appcompat-v7:21.0.+」をコンパイルして「com.Android.support:appcompat-v7:21.0をコンパイルする」のように「+」を正確な数値に変更することで解決しました.0 "。
これは私のために動作します。 :)
EclipseプロジェクトをAndroid studioに変換するときに同じ問題に直面しました。私の場合、Eclipseプロジェクトに設計ライブラリjarファイルがあり、gradleで同じ依存関係を追加してエラーを引き起こしました。 jarをlibsから削除します。
私が変更され :
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'