Android Studio 3.1 "Run" not compiling code
AndroidAndroid StudioAndroid Gradle-PluginAndroid Problem Overview
When I try to install an app, there are two possibilities:
- Install existing APK from build folder when I run the
app
- Install APK after performing
clean build
For existing APK in the build folder, the app just works fine. But when I clean the project using Build
-> Clean Project
, and then try to run the app
(i.e. install the app to my emulator or physical device), it shows me error:
>The APK file /Users/MyApplicationName/app/build/outputs/apk/app-debug.apk does not exist on disk.
NOTE: This behaviour happens only when I clean the project and not when I have already have a pre-built app APK in my build folder
I've referred to: https://stackoverflow.com/questions/34039834 but my point is, when we usually run the app after cleaning the project, we never need to make a build of it, if the APK is not existing in the build folder, it automatically generates and installs the latest one.
Things I've tried:
- Running the app when APK file exists in the build folder (works perfectly fine)
- Running the
Clean Project
-> Running the app (expected is the project would be built and the app would get installed but it shows the above mentioned error!) - Same process of cleaning and running the app after doing
Invalidate Caches/Restart
Android Solutions
Solution 1 - Android
I have solution for your issue.
Also confirmed by Android Studio on Twitter : https://twitter.com/androidstudio/status/981914632892960768
- Edit your app configuration as below.
- Here you can see your app configuration as below.
- Here is missing Gradle-aware make attribute in before launch configuration. You can see here.
- Please add this Gradle-aware Make attribute through this way. Click on + icon and select Gradle-aware Make as seen in this screen.
- You can add this without writing any task just press OK button and task will be added and now it should look like this. Now apply changes and run your application.
It will solve this old apk installing issue on clean build in new Android Studio 3.1 issue.
Note : This issue is resolved in new Android Studio 3.1.1 Stable release.
Solution 2 - Android
> The APK file > /Users/MyApplicationName/app/build/outputs/apk/app-debug.apk does not > exist on disk.
May be bug. You should change Settings.
You should open the Run/Debug Configurations dialog
& select Run > Edit Configurations
Make sure, Gradle-aware Make
is Added in TaskList or not. If not then click +
& select from the options.
Note
If you receive
> Shutdown finished in 0ms Error while generating dependencies split APK > com.android.ide.common.process.ProcessException: Failed to execute > aapt at > com.android.builder.core.AndroidBuilder.processResources(AndroidBuilder.java:809) > at > com.android.builder.core.AndroidBuilder.processResources(AndroidBuilder.java:797) > at > com.android.build.gradle.internal.transforms.InstantRunSplitApkBuilder.generateSplitApkResourcesAp(InstantRunSplitApkBuilder.java:373)
You should Un-Check INSTANT RUN
.
> File-- Settings-- Build, Execution, Deployment -- Instant Run and > uncheck Enable Instant Run.
Solution 3 - Android
clean your project and run again
If it's not work then
- Step 1 Close your project.
- Step 2 Go to your project folder and delete all build folder.
- Step 3 run your project.
Solution 4 - Android
This issue has been fixed with Android studio 3.1.1 (April 2018) release. Update your android studio to 3.1.1.
Here is there explanation regrading the issue details, cause and solution:
In some cases, when a project created in 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.
The result was that projects did not build when the Run or Debug button was clicked, which in turn caused failures such as deployment of incorrect APKs and crashes when using Instant Run.
To solve this problem, Android Studio 3.1.1 adds the Gradle-aware Make task to the run configuration for projects that are missing this entry.
This modification occurs after the first Gradle sync when the project is loaded.
Official release notes: https://developer.android.com/studio/releases/index.html#3-1-0
Solution 5 - Android
For all people seing this and having the issue on Android Studio +4.0.0:
Run -> Edit configurations... -> disable check box (Allow parallel run)
It may slow your build a little but it better than running the app more than one time.