私は似たようなものを見てみましたが、解決策はありませんでした。以前は問題なくアプリを実行していましたが、新しいアプリで突然問題が発生し始めました。実行しようとすると常に失敗します。
Error:Execution failed for task ':app:preDexDebug'.
com.Android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files (x86)\Java\jdk1.7.0_67\bin\Java.exe'' finished with non-zero exit value 1
これがコンソールに表示されたものです。
Executing tasks: [:app:assembleDebug]
Configuration on demand is an incubating feature.
:app:preBuild UP-TO-DATE
:app:preDebugBuild UP-TO-DATE
:app:compileDebugNdk UP-TO-DATE
:app:checkDebugManifest
:app:preReleaseBuild UP-TO-DATE
:app:prepareComAndroidSupportSupportV42200Library UP-TO-DATE
:app:prepareDebugDependencies
:app:compileDebugAidl UP-TO-DATE
:app:compileDebugRenderscript UP-TO-DATE
:app:generateDebugBuildConfig UP-TO-DATE
:app:generateDebugAssets UP-TO-DATE
:app:mergeDebugAssets UP-TO-DATE
:app:generateDebugResValues UP-TO-DATE
:app:generateDebugResources UP-TO-DATE
:app:mergeDebugResources UP-TO-DATE
:app:processDebugManifest UP-TO-DATE
:app:processDebugResources UP-TO-DATE
:app:generateDebugSources UP-TO-DATE
:app:compileDebugJava UP-TO-DATE
:app:preDexDebug
AGPBI: {"kind":"SIMPLE","text":"Error: Could not create the Java Virtual Machine.","position":{},"original":"Error: Could not create the Java Virtual Machine."}
AGPBI: {"kind":"SIMPLE","text":"Error: A fatal exception has occurred. Program will exit.","position":{},"original":"Error: A fatal exception has occurred. Program will exit."}
AGPBI: {"kind":"SIMPLE","text":"Error: Could not create the Java Virtual Machine.","position":{},"original":"Error: Could not create the Java Virtual Machine."}
AGPBI: {"kind":"SIMPLE","text":"Error: A fatal exception has occurred. Program will exit.","position":{},"original":"Error: A fatal exception has occurred. Program will exit."}
FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:preDexDebug'.
com.Android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files (x86)\Java\jdk1.7.0_67\bin\Java.exe'' finished with non-zero exit value 1
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 2.614 secs
AGPBI: {"kind":"SIMPLE","text":"Error: Could not create the Java Virtual Machine.","position":{},"original":"Error: Could not create the Java Virtual Machine."}
AGPBI: {"kind":"SIMPLE","text":"Error: A fatal exception has occurred. Program will exit.","position":{},"original":"Error: A fatal exception has occurred. Program will exit."}
このアプリは非常にシンプルで、私は在庫レイアウトからそれをあまり変更していません。これはロリポップ専用に設計されており、ストック機能のみを使用します。これがbuild.gradleです。
apply plugin: 'com.Android.application'
Android {
compileSdkVersion 22
buildToolsVersion "22.0.0"
defaultConfig {
applicationId "com.package.app"
minSdkVersion 21
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.Android.support:support-v4:22.0.0'
}
それは私のJavaインストールに問題があったに違いありません。私はすべてのJavaの痕跡(C:// program files/Java/jdk)とjreフォルダを削除し、 公式ページ から再インストールしました。大丈夫です。
描画可能なリソースが競合しているため、同じエラーが発生しました。私はきれいなプロジェクトをしました、そして、エラーはもう発生しませんでした。
たくさんのサーフィンをした後、私は問題がGCのオーバーヘッド(メモリ不足)であることがわかりました。以下のコードを私のbuild.gradleに追加することで私の一日を節約しました。
Android {
dexOptions {
incremental = true;
preDexLibraries = false
javaMaxHeapSize "4g" // 2g should be also OK
}
}
reference - ProcessException:org.gradle.process.internal.ExecExceptionが0以外の終了値2で終了しました
おそらくbuildToolsVersion numを変更できます。
これが私の問題です:
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 'D:\ProgramTools\Java\jdk1.7.0_79\bin\Java.exe'' finished with non-zero exit value 1
私のbuild.gradle:
Android {
compileSdkVersion 23
buildToolsVersion "24.0.0"
defaultConfig {
applicationId "com.pioneers.recyclerviewitemanimation"
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
}
BuildToolsVersionをbuildToolsVersion "23.0.2"に変更するだけで問題は解決しました。
問題のあるRAM。 Messages Gradle Buildでも同じようなメッセージがありました
Error:Execution failed for task ':app:dexDebug'.
> com.Android.ide.common.process.ProcessException: org.gradle.process.internal.
ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_45\bin\Java.exe''
finished with non-zero exit value 1
理由:OSのウィンドウズ8.1が表示されている私のラップトップにはRAMがありませんでした。
解決策:不要なプログラムをいくつか閉じました。その後、私はもっと無料のRAMを持っていて、私のプロジェクトはAndroidスタジオでビルドされました。
私の場合、解決策はAndroid Studioを閉じてJavaプロセスを終了させることでした。これは非常に大きい(1.2 GB)ものでした。これ以降、私のプロジェクトは正常に動作します(OS X Mount Lion、Android Studio 1.2.2、iMac Mid 2011 4GB Ram)。
溶液
1.プロジェクトをきれいにして、動作するかどうか確認してください
2.すべてのゴミ処理を閉じた後にAndroid Studioを再起動します。
3.上記の両方が機能しない場合は、これをgradle.buildファイルに追加してください。
Android {
dexOptions {
incremental = true;
preDexLibraries = false
javaMaxHeapSize "4g"
}
}
ライブラリicepickを自分のgradle依存関係に追加した後も同じ問題がありました。依存関係を削除した後、すべてが問題ないようです。この問題が発生した理由がわかり次第、ここに再度記載します。
Jarファイルをプロジェクトのlibフォルダーに追加した後、それをbuild.gradleファイルにcompile'path example 'のように追加した後、追加行を追加します。 asファイルをコンパイルする( 'libs/example.jar')。以前にbuild.gradleファイルに追加した行、つまりgradle syncの後のcompile 'path example'を削除するだけです。compile fileTree(dir: 'libs'、include: '* .jar')の行も削除する必要があります。
プロジェクトのクリーニングと再構築は私にとってはうまくいきます。 Androidスタジオの場合:
Build -> Clean Project
Build -> Rebuild Project
私にとっての答えは、ビルドプロセスのためにメモリを解放し、プログラムを閉じるか、またはマシンを再起動することでした(win10はwin7よりもメモリ管理が悪いようです)。
なぜそれが私のために直ったのですか?
ビルド中、Androidスタジオはコンパイルするのに十分なメモリを見つけられませんがエラーを表示しません。 :app:preDexDebugエラーは、コンパイルしたアプリを電話にアップロードしようとしたときに発生しました。
時々私はこのポイントを通過することができました(no app:preDexDebugエラー)が、Android上でアプリケーションを実行すると "ClassNotFound"例外が発生しました。 IDEが表示されていても、メモリ不足のためにAndroid Studioがビルド中にすべてのファイルをコンパイルしていなかったことを発見するための手がかりでした(win10)。ビルドが成功したことを私に伝えます。
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
これをあなたのgradle Buildに追加してください。それは私のために働いた
コマンドラインでエラーからスクリプトを実行しようとするまで、私は事実上すべてを試してみました。
dx.bat -JXmx1536m --dex --output \build\intermediates\pre-dexed\debug\classes-01b5c6cd66151f573da9773c18af55d10736a24e.jar build\intermediates\exploded-aar\aaa-release\classes.jar
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
それから私はgradleスクリプトで開発者のメモリ設定をコメントアウトしました:
// javaMaxHeapSize "1536m"
そして私はこのエラーを通過させることができました。ラップトップのRAMを増やす必要があります。
私の場合、Java Max Heap Sizeを2gから1gに設定するとうまくいきました。
アプリケーションモジュールのbuild.gradleファイルに以下を追加
Android {
dexOptions {
javaMaxHeapSize "1g"
}
}
この解決策は私のために働く
Java JDK 8をインストールします。
次に、[ツール] - > [オプション] - > [Apache Cordova用ツール] - > [環境変数の上書き]を選択し、JDKへのパスを "C:\ Program Files\Java\jdk1.8.0_121"に設定してJava 7ではなくJava 8を取得します。
実験的な方法が見つかりました:
アプリはアプリケーションを拡張しますではなくMultiDexApplication
と削除
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
gradle.propertiesから
SDKマネージャ(サポートライブラリなど)のすべてのブロック、更新されていないすべてのライブラリおよびパッケージを更新する必要があります。この後は、gradleファイルをprojectと同期して喜ばなければなりません。
私は同じ問題を抱えていました、ここでそれぞれの答えを試した後、私が名前を変更したパッケージはそれをインポートしたクラスで名前が変更されていないことに気づきました。私は名前を修正してすぐに問題を解決しました。
これは、アプリが65kのメソッド数を超えているため、dexエラーが発生している可能性があります。アプリでマルチインデックスを有効にする以外に解決策はありません。
この母親にチャンスを与えなさい:
dependencies {
classpath 'com.Android.tools.build:gradle:1.4.0-beta6'
}
しおり これ を忘れないでください。
につながる多くの理由があります
com.Android.build.api.transform.TransformException:com.Android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:処理 'コマンド' C:\ Program Files\Java\jdk1.8.0_60\bin\Java.exeが終了値0以外で終了しました1
あなたがdexの限界に当たっていないが、あなたはこのError:com.Android.dx.cf.iface.ParseException: name already added: string{"a"}
のようなエラーを得ているなら
Proguardを無効にしてみてください。問題なくコンパイルできた場合は、どのライブラリで問題が発生したのかを特定してproguard-rules.pro
ファイルに追加してください
私の場合、この問題はcompile 'com.google.Android.gms:play-services-ads:8.3.0'
をcompile 'com.google.Android.gms:play-services-ads:8.4.0'
に更新したときに発生します
回避策の1つは、これをproguard-rules.pro
ファイルに追加したことです
## Google AdMob specific rules ##
## https://developers.google.com/admob/Android/quick-start ##
-keep public class com.google.ads.** {
public *;
}
それに関連した多くの問題があり得ます。まず最初に、あなたがいくつかのファイルの配置と混同していないかどうかチェックしてください。例えば私がしたことは私がanimフォルダにxml以外のファイルを配置することです、これは許されません。だからそのようなことがあなたにも起こったかどうかを確認してください。
私は今同じ問題を抱えていました、そして、それは私のモジュールの1つの不完全なattrs.xml
ファイルによって引き起こされることが判明しました。このファイルには、最初はカスタムビューの1つに対して2つのスタイル設定可能な属性がありましたが、必要がなくなったときに削除しました。しかし、これは明らかにIDEに正しく登録されていなかったため、属性が見つからなかったためビルドは失敗しました。
私にとっての解決策は、属性を再追加し、clean project
を実行した後でビルドが成功し、それ以上問題なくこの属性を再度正常に削除できたことです。
これが誰かに役立つことを願っています。
Android Studioで自分のプロジェクトを自分のラップトップから自分のデスクトップに転送した後にこのエラーが発生しました。
私の解決策は、Android Studioを再起動してからプロジェクトを消去し、最後にプロジェクトを実行することでした。
マルチインデックスを有効にしましたか。メインのApplicationクラスをMultiDexApplicationで拡張してください。エラーの前に追加の例外メッセージがあります。それらは以下の通りです。
Uncaught translation error: Java.util.concurrent.ExecutionException: Java.lang.OutOfMemoryError: GC overhead limit exceeded
Uncaught translation error: Java.util.concurrent.ExecutionException: Java.lang.OutOfMemoryError: Java heap space
2 errors; aborting
これは明らかにエラーがメモリ不足が原因で発生したことを示しています。以下を試してください。
これでうまくいくでしょう;)
私は冗談でこの問題を解決します。 startDl
とStartDl
という名前の2つのクラスがあります。そのうちの1つをStartDownload
に変更するだけで問題は解決しました。また、リソースにはすでにプロジェクト内のリソースとともに予約されている名前を付けることができます。似た名前を違う名前に変更するだけです。