web-dev-qa-db-ja.com

Android Studio 3.1 "Run"でコードがコンパイルされない

アプリをインストールしようとすると、2つの可能性があります。

  1. appを実行するときに、ビルドフォルダーから既存のAPKをインストールします。
  2. clean buildを実行した後にAPKをインストールしてください

ビルドフォルダ内の既存のAPKの場合、アプリは正常に動作します。しかし、Build - > Clean Projectを使用してプロジェクトをクリーンアップしてからappを実行しようとすると(つまり、アプリをエミュレータまたは物理デバイスにインストールすると)、エラーが表示されます。

APKファイル/Users/MyApplicationName/app/build/outputs/apk/app-debug.apkがディスクに存在しません。

注:この現象は、プロジェクトをクリーンアップしたときにのみ発生します。ビルドフォルダーに既にビルド済みのアプリAPKがある場合は発生しません

APKファイルはディスク上に存在しません しかし、私のポイントは、通常、プロジェクトのクリーンアップ後にアプリを実行するときに、そのビルドを作成する必要がなくなったことを意味します。 buildフォルダに存在しない場合は、自動的に最新のものを生成してインストールします。

私が試したこと:

  1. APKファイルがビルドフォルダに存在するときにアプリを実行する(完全に問題なく動作します)
  2. Clean Projectを実行する - >アプリを実行する(プロジェクトがビルドされアプリがインストールされることが予想されますが、それは上記のエラーを表示します!)
  3. Invalidate Caches/Restartを実行した後のアプリのクリーニングと実行の同じプロセス
85
Sneh Pandya

あなたの問題に対する解決策があります。それが役に立てば幸い!

Android StudioTwitterで確認済み: https: //Twitter.com/androidstudio/status/981914632892960768

1)アプリの設定を以下のように編集してください。

enter image description here

2)ここであなたは以下のようにあなたのアプリ構成を見ることができます。

enter image description here

3)起動前の設定にGradle対応のmake属性がない。あなたはここで見ることができます。

enter image description here

4)この方法で、このGradle対応のMake属性を追加してください。このアイコンのように+アイコンをクリックしてGradle-aware Makeを選択してください。

enter image description here

5)OKボタンを押すだけでタスクを書かずにこれを追加できます。タスクが追加され、このようになります。今すぐ変更を適用し、アプリケーションを実行します。

enter image description here

それは新しいAndroidのスタジオ3.1の問題でクリーンビルドのこの古いapkのインストール問題を解決することを願っています。

注:この問題は新しいAndroid Studio 3.1.1で解決されました安定したリリース。

ハッピーコーディング!

146
Sagar Kacha

APKファイル/Users/MyApplicationName/app/build/outputs/apk/app-debug.apkがディスクに存在しません。

バグかもしれません。設定を変更する必要があります。

あなたはRun/Debug Configurations dialog&openRun > Edit Configurationsを開くべきです

タスクリストにGradle-aware Makeが追加されているかどうかを確認してください。そうでない場合は、+をクリックして、オプションから選択します。

enter image description here

届いたら

依存関係の分割を生成中にシャットダウンが0ミリ秒エラーで終了しました。com.Android.ide.common.process.ProcessException:com.Androidでcom.Android.builder.core.AndroidBuilder.processResources(AndroidBuilder.Java:809)でaaptを実行できませんでした。 builder.core.AndroidBuilder.processResources(AndroidBuilder.Java:797)at com.Android.build.gradle.internal.transforms.InstantRunSplitApkBuilder.generateSplitApkResourcesAp(InstantRunSplitApkBuilder.Java:373)

チェックを外すINSTANT RUN.

ファイル - 設定 - ビルド、実行、配置 - インスタントランおよび[インスタントランを有効にする]のチェックを外します.

3
IntelliJ Amiya

プロジェクトをきれいにして、もう一度実行してください

それでもうまくいかない場合

  • ステップ1プロジェクトを閉じます。
  • ステップ2あなたのプロジェクトフォルダに行き、全てのビルドフォルダを削除してください。
  • ステッププロジェクトを実行してください。
1
Vishal Sojitra

この問題は、Android studio 3.1.1(2018年4月)リリースで修正されました。 Android studioを3.1.1に更新します。

問題の詳細、原因、解決策をグレードアップする説明があります:

場合によっては、プロジェクトがAndroid Studio 3.0 was opened for the first time in Android Studio 3.1, the Gradle-aware Make task was removed from the Before launch area in Run/Debug Configurations.で作成されたときに、[実行]または[デバッグ]ボタンがクリックされたときにプロジェクトがビルドされなかったため、不正なAPKの展開やインスタントランの使用時のクラッシュなどの障害が発生しました。

この問題を解決するために、Android Studio 3.1.1 adds the Gradle-aware Make task to the run configuration for projects that are missing this entry.この変更は、プロジェクトがロードされたときの最初のGradle同期後に発生します。

公式リリースノート: https://developer.Android.com/studio/releases/index.html#3-1-

0
0xAliHn