現在、別のGradleインスタンスで使用されています


117

Gradleビルドシステムは初めてです。いくつかの基本的な機能を実行したいと思います。コマンドラインで実行/構築しています。私はユーザーガイドを参照しています。そして、いくつかの簡単なタスクを実行します。

簡単なタスクを実行し始めると、正常にビルドされました。しかし、しばらくすると、表示され"It is currently in use by another Gradle instance"てになりBUILD FAILEDます。タスクを実行するためにターミナルを使用しています。その時は何も走らなかった。

エラーが発生した端末を閉じると、この問題は解決します。しかし、私はそれがその解決策ではないことを知っています。

このエラーが頻繁に発生するのはなぜですか?

それを解決する方法は?

また、AndroidのGradle Buildシステムに関する知識を向上させるために、リンクを参照してください。


4
万が一、デーモンモードでgradleを使用していますか?コマンドを実行して確認できgradle --stopます。Gradleデーモンが実行されていないか、Gradleデーモンが停止している出力を取得することが期待されます。
topr 2014

@topr私はデーモンモードを使用していませんでし...
Dhasneem

3
解決策:(それは私にとってはうまくいきました)ステップ1.タスクマネージャーを起動し、java.exeのインスタンスが2つ実行されていないことを確認します。ステップ2.java.exeのいずれか、または両方を強制終了して、AndroidStudioを再起動します。お楽しみください
Lakhwinder Singh Dhillon 2016

回答:


304

次のように実行して、gradleキャッシュ内のロックファイルを削除します。

find ~/.gradle -type f -name "*.lock" -delete

12
ありがとう!私が追加で走った後、それはうまくいきました find /path-to-project-dir/.gradle -type f -name "*.lock" | while read f; do rm $f; done
タイラー

4
今日、私はこの質問に戻りました。今回kill -9は、ロックファイルの削除に加えて、プロセスを実行する必要がありました。質問タイトルのメッセージの直後にPIDが続きました:問題:タスク履歴キャッシュのロックを待機しているタイムアウト(、、、)。現在、別のGradleインスタンスで使用されています。所有者PID:4354私たちのPID:9500
Joshua Goldberg

@JoshuaGoldbergプロセス#4354を強制終了する前に、いつどのように開始したかを確認しましたか?(私はただ興味があります。)
n1ghtm4n4g3r 2017年

2
そのコマンドを共有してくれてありがとう、gradleのロックファイルを削除する前後にその問題が発生したことは一度もありませんでした。サーバーを再度実行することができました。これは「ベストアンサー」としてマークする必要があります
Raul Rivero 2018年

1
@ shashank-bashシェルのchandak(ターミナルまたはCygwin)
n1ghtm4n4g3r 2018

34

時には速い方法がエレガントでない取引でやってくる、そこに行く:

最初に、で実行されているすべてのgradleプロセスの数を見つけます

ps -A | grep gradle

その後、IDを取得し、すべてを1つずつキルします。

sudo kill -9 <process ID>

今、あなたは元気です;-)


29

私はこのエラーで立ち往生し、ユーザーの.gradle/caches/フォルダーの内容とプロジェクトの.gradle/フォルダーの内容を吹き飛ばして再開する必要がありました。

何が原因かわからない、おそらくこれらのファイルをロック状態に保つ失敗したビルド?


この問題はここに記載されています--issues.gradle.org/browse/GRADLE-2795--gradleのバグは存在しますが、これが最善の解決策だと思います。
Joshua Goldberg

3
実際、プロジェクトの.gradleディレクトリに触れることなく、〜/ .gradle / caches / *を削除するだけで成功しました。
Joshua Goldberg

@JoshuaGoldbergは幸運ですが、私の場合は、chachesフォルダーを削除することもできません。何が問題になる可能性がありますか?
オフショア

.gradle / caches / **を削除しましたが、再び機能します。奇妙なことに、ローカルのgradleバージョンを使用すべきではない./gradlewのみを使用していますか?
ベン・グルート

1
@BenGroot AFAIK同じgradleバージョンのすべてのgradleデーモンは、どこから開始されたかに関係なく、同じキャッシュを共有します(明示的に強制されていない場合)。
ubuntudroid

12

Windowsマシンの場合:

タスクマネージャーを開きます(Ctrl-Alt-Deleteしてプロセスを確認します)

-> android studioのインスタンスを2つ実行する場合は、1つ閉じる(タスクの終了)

->次にOpenJDKプラットフォームバイナリを閉じます

-> AndroidStudioでGradle同期が行われ、動作するようになりました


これは私のために働いた。しかし、私の場合、open JDKの2つのインスタンスと、1つのAndroidStudioが開いていました。
RowanGontier20年

7

これは、AndroidStudioのインスタンスが複数あるために発生している可能性があります。


同様に、マルチウィンドウアンドロイドスタジオを開き、同時に発生し、この問題を同期、合意
mochadwi

6

java.exeプロセスを強制終了するだけで問題が解決します。

-編集-

修正されていない場合:

  • OpenJdkPlatformプロセスを強制終了します。

修正されていない場合:

  • .gradleディレクトリとサブディレクトリ(Windows:C:\ Users \ Username \ .gradle)からすべての「.lock」ファイルを削除します

修正されていない場合:

  • .gradleディレクトリの名前を変更または削除して、再試行してください。

あなたの答えを読んだ後、私は.gradleディレクトリを削除しました、そして今、アプリを再コンパイルした後、完全に壊れています。
赤悪魔

あなたの答えを読んだ後、私は.gradleディレクトリを削除しました、そして今、アプリを再コンパイルした後、完全に壊れています。フォントサイズが大きくなり、パディングが大きくなり、ランダムな検証エラーが発生します。私は今何ができますか?
赤悪魔

1
.gradleディレクトリを削除してもよろしいですか?remove .gradleは、アプリコードに副作用がないようにする必要があります。それは単なるgradleキャッシュであり、アプリを再度コンパイルする場合です。gradleは必要なファイルをダウンロードします。クリーンビルドを試してください。
Ahmad Dehnavi 2017年

3

そのGradle失敗メッセージの後には通常、関連するプロセスIDが続くため、次のようになります。

Gradle sync failed: Timeout waiting to lock daemon addresses registry [...].
It is currently in use by another Gradle instance.

Owner PID: 1234
Our PID: 5678
Owner Operation: ...

ロックを解除するには、所有者プロセスを強制終了します。

sudo kill -9 1234

2

Windows OSの場合:

ロックファイルと関係があると思ったので、プロジェクトフォルダーの.gradle \ buildOutputCleanupに移動し、cache.properties.lockファイルを削除して、プロジェクトを再構築しました。それは完璧に機能していました。


2

Macでも同じ問題が発生しましたが、上記のどれもうまくいきませんでした。ただし、機能したのは、アクティビティモニターを開き、実行中のJavaプロセスを閉じることでした。また、削除した.hprofファイルが生成されていることに気付きました。その後、プロジェクトを実行しましたが、うまくいきました。


2

を押しCTRL + SHIFT + ESCてタスクマネージャを開きOpenJDK、エラーが次のように指している場所に移動して見つけて強制終了します

D:\.gradle\daemon\4.10.1\registry.bin.lock

ファイルを削除して再同期すれば、準備は完了です。


2

私は遅れるかもしれませんが、迅速で効率的な解決策のように見えます。

以下の手順を実行します。

  1. 実行する ps -ef | grep gradle
  2. ターミナルを開き、〜/ .gradle / cachesパスに移動します
  3. 実行する find ~/.gradle -type f -name "*.lock" | while read f; do rm $f; done

完了しました。


2

MACマシンの場合

「アクティビティモニター」を開いて「メモリ」オプションを選択し、Android Studioやその他の実行中のJavaプロセスを強制的に停止してください。これにより、この問題が解決されます。


1
MacでintelliJを実行しているときに動作します
KarimSonbol20年

1

私はMacでも同じ問題を抱えていました:

プロジェクトが外付けハードディスク上にないことに注意してください。プロジェクトの場所は、オペレーティングシステムのハードディスク上にある必要があります。

(Ionicアプリの構築)


私の場合、問題はこれにもあるようです。先日、プロジェクトを外付けドライブに転送しました。
DmitryKanunnikoff

1

私は自分のプロジェクトで同じ問題に直面していましたが、プロジェクトを無効にすることでこれを解決したので、androidstudioの[ファイル] -> [キャッシュの無効化/再起動...]で次の手順に従います


0

このエラーを修正するためにファイルを削除する必要はありませんでした。

私が抱えていた問題は、Gradleインスタンスがハングし、Javaによって生成されたタスクリストの6つのコマンドプロンプトエントリであったことです。

コマンドプロンプトインスタンスを強制的に閉じることで、通常どおり作業を続行できました。


0

問題のための私のためのその仕事:-

「エラー:jarのロックを待機中のタイムアウト現在、別のGradleインスタンスで使用されています。所有者PID:6896私たちのPID:5048所有者の操作:私たちの操作:ロック」

解決:-

  1. AndroidStudioを閉じてタスクマネージャーを開き、プロセスjava.exeを終了します
  2. derectory .... gradle \ cachesを開きます。
  3. jar2.lockファイルを削除します。
  4. android Studionを開き、プロジェクトをクリーンアップします。

0

Javaプロセスの強制終了、HOME_DIRとプロジェクトディレクトリの.gradleの削除、Android Studioの再起動、さらにはOSの再起動など、このすべての回答を試しました。

Gradle Syncを起動して初めて、正常に動作し始めました。


0

非常に簡単な解決策:

強制終了する必要はありません。プロセスをAndroid Studio強制終了してからOpenJdkPlatform、次の.lock場所にあるファイルを削除してください。

rootProject/.gradle/<version>/taskHistory

0

プロセスを強制終了したり、ロックファイルを削除したりすることはできますが、Gradleはこれを独自に処理して、問題を永続的解決できるはずです。この問題レポートは、解決策を示唆しています。Gradleはgradleサービスと通信できません。

ローカルネットワークファイアウォールを見てください。私の場合、

  • 127.0.0.1から127.0.0.1へのアウトバウンドトラフィックを許可します。

    sudo iptables -A OUTPUT -p udp -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
    
  • 127.0.0.1からの着信トラフィックを許可する

    sudo iptables -A INPUT -s 127.0.0.1 -p udp -j ACCEPT
    

問題を解決しました。githubでの同様の問題の議論。

また、AndroidのGradle Buildシステムに関する知識を向上させるために、リンクを参照してください。

udacity Gradleではもちろん、あなたはいくつかの時間を持っている場合。


0

ターミナルを開き、プロジェクトパスに移動してから、オペレーティングシステムに応じて実行します:gradlewcleanまたは./gradlewclean


0

私も同じ問題に直面していました。しかし、AndroidStudioを再起動するだけで解決しました。OneDriveを使用してプロジェクトを保存しています。


0

私は同じ問題を抱えていました、そして私は2つのステップをしました、そしてそれは解決されました。

  1. JDKがMacにインストールされていません(インストールするのを忘れました)インストールしました。
  2. このパス/Users/icon_developer/.gradle/にあるcachesフォルダーからすべてのアイテムを削除し、プロジェクトを再構築しました。機能した!

0

みんな最後に、私は完全な解決策を持っています

Error :- Timeout Gradle cashe its running in other gradle


distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

Please add this Line in Wrapper.Propertis and Sync now
After Sync the project When 
Invalidthcast\restart   to get the requesting componants

0

私も同じことで立ち往生していました。しかし、それはすぐに分類されました。ファイルを削除するだけです。

D:\.gradle\daemon\6.1.1\registry.bin.lock

また、タスクマネージャーからOpenJDKを終了しました。Idkは役に立ったかどうかはわかりませんが、どちらも問題を解決しました。



0

Windowsでこの問題を解決するには

  1. タスクマネージャーに移動
  2. タスクマネージャーの「詳細」で所有者PIDを見つけます
  3. タスクを終了します

0

私の場合、Macの場合は、上から選択しFileてから、[Invalidate Caches / Restart...完了]を選択します。

それがあなたにもうまくいくなら、素敵な簡単な解決策です!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.