web-dev-qa-db-ja.com

Android Studioでプロジェクトをクリーンアップできません

OSバージョン:Ubuntu 14.04 LTE 64ビット

Java JRE/JDKバージョン:Oracle JDK 1.8.0_11

プロジェクトディレクトリはNTFSベースのドライブにあります。

プロジェクトをきれいにしようとするたびに、次のようなものが表示されます。

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

ファイルを削除できません:/media/DriveA/AndroidStudioWorkspace/DNA/app/build/intermediates/classes/debug/.../mechandising/MerchandizingActivity$3.class

ビルドフォルダを手動で削除しようとすると、次のエラーが表示されます。

ファイル '/ media/DriveA/AndroidStudioWorkspace/DNA/app/build/intermediates/pre-dexed'の情報を取得する際のエラー:入出力エラー

Linuxの問題なのか、Studioの問題なのかわかりません。私はEclipse(同じドライブ)でそのような問題に直面していないので、私はそれが私のスタジオで何か間違っていると考えています。

助言がありますか??

39
iZBasit

同じ問題がありました。

ソースファイルに直接移動する必要があります。スタジオを閉じて、問題のあるパスに移動し、そこにあるフォルダーを削除します。

34
Kevin Wiggins

に行く

[ファイル]> [設定]> [ビルド、実行、展開]> [インスタントラン]> [このチェックボックスをオフにします(コードをホットスワップするインスタントランを有効にする)]

ありがとう、素敵なコーディング

20
Happy Singh

プロジェクトディレクトリに移動し、コマンドラインからgradleを呼び出してプロジェクトをクリーンアップできます。

gradlew clean

プロジェクトを再度開くと、Gradle Syncを再度実行する必要があります。

12

ちょうど今同じ問題に出くわしました-生成されたファイルの1つを誤って編集してアプリを再構築したいのですが、いくつかのファイルがロックされているためcleanbuildの両方が失敗しました。

幸いなことに、Windowsマシンでcygwinを取得したので、ls -l <file that studio complained about>は、これらのファイルがいくつかのAdministrator男に所有されていることを明らかにしました。

最初に考えたのは、Studioが管理者権限で実行されている間にこれらのファイルが作成された可能性があるということです(SDK manager)。管理者権限で実行しているStudioでcleanを実行してこの問題を解決し、後で通常の権限で再構築するというアイデアでした。いいえ、これは機能しませんでした:(

私はブルートフォースに行くことにしました:Sudo rm -rf app/build/*Cygwinでは、このコマンドは少し異なります:cygstart --action=runas rm -rf app/build/*)。これで問題は解決し、Android Studioでプロジェクトを再構築できました。

5
Vasiliy

このコマンド「gradlew clean」を使用してAndroid Studio Terminalからプロジェクトをクリーンアップします。

enter image description here

3

Linuxでは、lockedディレクトリがあり、Android Studioがファイルを削除できない場合に発生する可能性があります。

ターミナルで次のコマンドを実行できます。

Sudo chown -R $USER: $HOME

その後、再構築してみてください-> Works for me

2
Gal Rom

スキャンする必要があるためファイルをロックしていたWindows Defenderを停止し、問題は解決しました

1
Saef Myth

私はあなたと同じ問題を抱えていました。このページで提案された解決策のいくつかを試しましたが、うまくいきませんでした。そこで私は Process Explorer を使用して、apkファイルをロックしているプロセスを見つけました。それはfirefoxでした。 Google Playコンソールでapkをアップロードすると、ファイルがロックされたままになると思います。それを行うには、「検索>ハンドルまたはDLLの検索...> path-to-your-app.apk」に進みます。お役に立てば幸いです

1
naslami

同じ問題がありました。プロジェクトを何度もビルドするには、毎回ビルドフォルダーを削除する必要がありました。私にとっての問題は、システムで実行されているByteFence.exeと呼ばれる匿名プログラムでした。そのプログラムをアンインストールすると、問題は解決しました。

0
Febin K R

上記の答えはどれも私にとってはうまくいきませんでしたが、変更の許可は働きます:

chown user:staff ../project_dir
find ../project_dir -type d -exec chmod 775 {} \;
find ../project_dir -type f -exec chmod 664 {} \;
0
sajad abbasi

最初のAndroidアプリをデバッグしようとしたときに、同様の問題が発生しました。 WindowsでAndroid St​​udioを実行している場合、Android studioを再起動しただけで、Android St​​udioを管理者として実行して問題を修正しました。

0
kinath_ru

ターミナルのプロジェクトディレクトリに移動して、gradlew clean

端末/コマンドプロンプトでGradleコマンドを実行するには。プロジェクトのルートに移動し、ターミナルでgradlewと入力するか、gradlew.batコマンドプロンプト(Windowsユーザー)の後に、実行するコマンドが続きます。

可能なすべてのgradleコマンドのリストについては、gradlew tasks端末に。

0
JSON C11

これで問題が解決しました。

Galの回答に感謝します( https://stackoverflow.com/a/39904628/2870404 )。

Windowsでは、Windowsファイルエクスプローラーを使用して、

ディレクトリを右クリックして、表示されるコンテキストメニューのプロパティをクリックし、[読み取り専用]属性のチェックを外します。その後、「適用」をクリックして変更を適用します。

0
Ashley Chipman

Galの回答のおかげです( https://stackoverflow.com/a/39904628/2870404 )。

Windowsでは、Windowsファイルエクスプローラーを使用して、

  1. ディレクトリを右クリックし、
  2. 表示されるコンテキストメニューのプロパティをクリックし、
  3. 次に、「読み取り専用」属性のチェックを外します。
  4. その後、「適用」をクリックして変更を適用します。
0
Ray Lionfang

ファイルハンドルをロックするプロセスである必要があります。タスクマネージャを開いてプロセスを強制終了できます。私の場合、プロセスはJava process hold by Android Studio OpenJDK。それを見つけて強制終了します。

0
ChillingVan

Android studio-> remove Android platform by cliで-> add the Android platform再度-> Android studio。

0
neha thakkar

私はWindowsではなく、OS Xです。どういうわけか、ビルドフォルダーにASがファイルを削除するための適切な権限がなかったため、chmod -R 777 <your_directory>影響を受けた親ディレクトリで..おそらく777はあなたが望むものではありませんが、それは私のために働いた。

0
tricknology

/release/app.aabのロックに問題があるため、このスレッドにアクセスしました。これにより、プロジェクトのクリーンアップと署名済みバンドルの生成ができませんでした。私の回避策は、問題を解決するまでコンピューターを再起動して権限を取得することでした。

Gitがapp.aabをロックしており、私がしなければならなかったのは、/ app/.gitignoreに「/ release」を追加することだけでした。

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

0
Dlong