31
20

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Android 初心者向けAdvent Calendar 2019

Day 19

AndroidStudioがおかしいとき、ビルドができないときに試す手順 2019年完全版

Last updated at Posted at 2019-12-18

はじめに

この記事はAndroid 初心者向け Advent Calendar 2019の19日目の記事です。
https://qiita.com/advent-calendar/2019/android_beginners

こんばんは。
みなさんはAndroidStudioで開発しているときに、文法エラーを起こしているつもりがないけれど、
エラーが出てビルドできない状態になったことはありませんか?私はあります。
そのときに試してきたことをこの記事ではまとめてみたいと思います。

なお、記事中のAndroidStudioのバージョンは3.5.2(執筆時の安定最新版)とします。

Rebuild Project

基本中の基本。
Screen Shot 2019-11-25 at 20.03.52.png

Clean Project

中間ビルドやキャッシュ ビルドファイルを消すのみ。
ただ、これだけだとデータバインディング等で作成されるファイルも消えたままなのでRebuild ProjectやMake Moduleの実行を行うこと。

Screen Shot 2019-11-25 at 20.09.01.png

Rebuild Project と Clean Projectの違い

公式リファレンスによると、
Clean Projectはすべての中間物を消す、Rebuild Projectは対象のビルド バリアントに対してClean Projectしたあと、APKを作成するらしい。

公式リファレンス
https://developer.android.com/studio/run/index.html?hl=ja#reference
データバインディングやアノテーションプロフェッサーでのクラス自動生成のみを行い、
apkまでは不要という場合、Make Moduleで十分。

BuildConfig等、一部のクラスはClean Projectでも消えないので
そういうのまで消したいときは gradleのcleanを使用する。
AndroidStudioの右端のGradleからcleanをダブルクリック
Screen Shot 2019-11-25 at 20.14.15.png

Android Gradle Pluginのビルドキャッシュ

AndroidのGradle Pluginもキャッシュを使うようです。
自分はなったことありませんが、Gradle Pluginのバージョンアップを行うと
エラーになったという場合は有効なんじゃないでしょうか。
AndroidStudioの右端のGradleからcleanBuildCacheをダブルクリック
Screen Shot 2019-11-30 at 17.14.49.png

参考
ビルド キャッシュによるクリーンビルドの高速化
https://developer.android.com/studio/build/build-cache?hl=ja

AnddroidStudioのキャッシュ

Invalidate Cashes / Restart
Screen Shot 2019-11-25 at 20.15.30.png
FileからInvalidate Cashes / Restartを選択後、

Screen Shot 2019-11-25 at 20.17.12.png Invalidate And Restart AndroidStudio自体がなんかおかしいときにも有効です。

以下、AndroidStudioを一旦終了すること。※以下操作注意

(AndroidStudioがキャッシュをつかんだままだと削除できない、または削除されない恐れがあるため)
また、以下から手動でファイルを消すことになるので操作には要注意。

Gradleのキャッシュ

rm -rf ~/.gradle

.gradleの中にキャッシュ用のディレクトリがあったりするんだけど、再ダウンロードされるのでまるごと削除でもOK

なお、プロジェクト直下にもあるのでここでも削除

(PROJECT_DIRに移動したあと)
rm -rf .gradle/

再作成されるのでまるごと削除でもOK。

IDEのキャッシュ

AndroidStudioのベースとなったIDEが
PROJECT_DIR/.idea
にキャッシュを使っているので、そこでも削除。
※ workspace.xml、usage.statistics.xml、tasks.xmlは必要なのでそれらのファイルは消さないこと。
※ プロジェクトによってはあえて共有しているものもあります。注意

コマンド一発で消すなら以下

(PROJECT_DIRに移動したあと)
find .idea -type f | grep -v "(workspace|usage.statistics|tasks).xml" | xargs rm

プロジェクト全体の設定ファイル

*.iml
samuraism様のサポート情報によるとGradleプロジェクトなら不要とのこと

(PROJECT_DIRに移動したあと)
find . -type f | grep iml$ | xargs rm

参考

https://qiita.com/takahirom/items/af6b83edd0dc3294046f
https://qiita.com/kirimin/items/706523d637fd09152122

31
20
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
31
20

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?