When I am trying debug application on Android Studio gives this log output :
The APK file /Users/MyApplicationName/app/build/outputs/apk/app-debug.apk does not exist on disk.
I restarted Android Studio, but I can't solve this problem . How can I solve it ? Thank you
Click this option to solve the error:
https://i.stack.imgur.com/2KSyU.png
If you are facing this issue after the update to Android Studio V 3.1 then try the below.
I was facing this same problem when I updated to Android Studio 3.1. All other solutions I found here were quite manual because you have to clean and rebuild every time, that is not good at all. But thanks to Iman Marashi's answer here I was able to solve it.
Go to Run -> Edit Configurations...
Make sure you have a "Gradle-aware Make" on the Before launch section:
https://i.stack.imgur.com/9YoVI.png
To add it click the + sign and select Gradle-aware Make and a popup will appear, just leave the text field empty and click OK and OK.
In my case, executing "Sync Project with Gradle Files" helped. Neither restarting Andoid Studio nor clearing the cache did anything.
build.gradle
, so Android Studio didn't automatically pick up on the change and prompt me to sync.
File -> Sync Project with Gradle Files
stackoverflow.com/a/19932896/2527204
If you just want to know the conclusion, please go to the last section. Thanks.
Usually when building project fails, some common tricks you could try:
Build -> Clean Project
Check Build Variants
Restart Android Studio (as you mentioned)
But to be more specific to your problem - when Android Studio could not find the APK file on disk. It means that Android Studio has actually successfully built the project, and also generated the APK, however, for some reason, Android Studio is not able to find the file.
In this case, please check the printed directory according to the log. It's helpful.
For example:
With Android Studio 2.0 Preview (build 143.2443734).
Checkout to a specific commit (so that it's detached from head): git checkout [commit_hash] Run project Android Studio tells: The APK file /Users/MyApplicationName/app/build/outputs/apk/app-debug-HEAD.apk does not exist on disk Go to the directory, there is a file actually named: app-debug-(HEAD.apk (with an extra parenthesis) Run git branch *(HEAD detached at 1a2bfff)
So here you could see, due to my gradle build script's mistake, file naming is somehow wrong.
Above example is just one scenario which could lead to the same issue, but not necessary to be the same root cause as yours.
As a result, I strongly recommend you to check the directory (to find the difference), and check your build.gradle script (you may change the apk name there, something like below):
applicationVariants.all { variant ->
variant.outputs.each { output ->
def newFileName = "whatever you want to name it";
def apk = output.outputFile;
output.outputFile = new File(apk.parentFile, newFileName);
}
}
Make sure that you don't have apostrophe or & in your path
Make sure that there is Grading-aware Make in Run/Debugging configurations >> before launch section :
https://i.stack.imgur.com/N1qMW.png
I witnessed a similar issue usually when I'm switching git branches. For me shutting down Android Studio rm -rfv ~/Library/Caches/AndroidStudio*
and restart Android Studio is the ticket.
In Android Studio 3.1.1 select File | Sync Project with Gradle Files.
In Android Studio 3, select File | Synchronize.
Then run your project again.
The year is 2018. Android Studio version is 3.2.0 alpha3 and we still get this problem. As none of the above worked for me, here is my 2 cents:
Every time this happens I just generate the apk from command line:
gradlew assembleDebug
UPDATE
Deleting the folder .AndroidStudio[version]
and losing all your preferences and caches... seems to solve the problem
In my case, I was using a special character in my app file path. I closed the Android Studio and removed the ' character from my app file path. Everything worked fine when I reopned the project.
I've solved building an apk using the Build option from the top window and Build APK. No need to do something weird.
For Unix like users (Linux/MacOs X), instead of removing ~/.gradle/caches/, in command line do :
$ cd path_to_you_project
$ touch build.gradle
Then ask Android Studio to build APK, it will reset gradle cache itself.
My problem is that I was appending the version number to the APK. Changing the version number and re-syncing Gradle fixed the problem for me.
def appendVersionNameVersionCode(variant, defaultConfig) {
variant.outputs.each { output ->
if (output.zipAlign) {
def file = output.outputFile
def removeApp = file.name.replace("app-", "")
def removeType = removeApp.replace("-release", "")
def fileName = removeType.replace(".apk", "." + defaultConfig.versionName + ".apk")
output.outputFile = new File(file.parent, fileName)
}
def file = output.packageApplication.outputFile
def removeApp = file.name.replace("app-", "")
def removeType = removeApp.replace("-release", "")
def fileName = removeType.replace(".apk", "." + defaultConfig.versionName + ".apk")
output.packageApplication.outputFile = new File(file.parent, fileName)
}
}
Build ---> Build APK(s) and be sure it works
File -> Invalidate Caches / Restart
If you tried all the above answers and it didn't work try to disable "Instant Run" feature. This one helped me after all attempts.
File -> Settings -> Build, Execution, Deployment -> Instant Run -> Uncheck checkbox there
I also got that issue, after cleaning the build. For me solution was I just sync the gradle and it worked for me.
In my case the problem was that debugging configuration become invalid somehow, even that the test method name, class or package has not changed.
I deleted the configurations from Run->Edit Configurations, at here:
https://i.stack.imgur.com/blhP0.png
Android studio will create a new one automatically.
Sync, Clean, Rebuild and Invalidate Cache and Restart
None of them worked for me.
I have deleted the APK and output.json files in the release folder and debug folder and then tried sync, clean, and build, then it worked fine.
OR simply Delete folder which has the apk and output.json file (in case of debug/ release)
Faced the same issue with gradle 1.5
I had to clean the build files:
Build -> Clean project
And build an APK to force the full compilation and sync of the gradle files:
Build -> Build APK
I still don't know why or how it happened tho.
if you are using Linux, try setting write permission to the app/build folder.
i had the same problem. it was due to false name in the path. there was a special Character in the path like this: C:\User\My App\Projekte-Tablet&Handy i deleted the "&" character and it worked well.
My problem was including minutes in the file name - it looked for appname_debug_0.9.0.1_170214_2216.apk when the generated file was appname_debug_0.9.0.1_170214_2217.apk so the output filename code (nabbed from elsewhere) was clearly being called from two different points in the build.
applicationVariants.all { variant ->
variant.outputs.each { output ->
def project = "appname"
def SEP = "_"
// def flavor = variant.productFlavors[0].name
def buildType = variant.variantData.variantConfiguration.buildType.name
def version = variant.versionName
def date = new Date();
def formattedDate = date.format('yyMMdd_HHmm')
def newApkName = project + SEP + /*flavor + */ SEP + buildType + SEP + version + SEP + formattedDate + ".apk"
output.outputFile = new File(output.outputFile.parent, newApkName)
}
}
The problem for me was that somehow it could really not find the apk, while the apk exists.
The APK file /Users/Paul/AndroidStudioProjects/android-tv-launcher/ui/build/outputs/apk/nameofapk.apk does not exist on disk.
Error while Installing APK
All I had to do, was right click on the apk-copy relative path, and just
adb install -r <paste of relative path>
And the apk was installed and good to go. This issue happened on OSX for me.
Solved in may of 2018 with the new Android Studio 3.1. Delete the .gradle, .idea and build directories inside your app folder. Then try to run it again and you won't see the error.
I change build.gradle file a litle info,and click "Sync Now",just ok.
Remove the directory ~/.gradle/caches/. It's OK to do this while Android Studio is opened. (Refer pm installing wrong package name) Press "Sync project with Gradle files" icon on Android Studio Run the project and the remote path will be correct.
Refer answer @ Android Studio gets package name wrong when running .apk
Make sure that in the path generated in your logs -in your case:
/Users/MyApplicationName/app/build/outputs/apk/app-debug.apk
folder "outputs" indeed has an "apk" folder.
That was my problem, if it's not there, you will need to run the "assembleRelease" task in gradle by following the below screenshot;
https://i.stack.imgur.com/3nPDu.png
Nothing above helped me, but I figured this out by switching to another flavor in the Build Tools panel and then switching back to the needed one.
modify the file:build.gradle(app directory). in fact:you should not change this file , only by this to get sync tips,then sync project.
Success story sharing