I have been contemplating learning Android development for a while now. I have dabbled in it in the past but never took a deep dive to create an application from scratch. I decided to go through a book from start to finish to see if that will give me what I need to finally take the dive.
The book is laid out really well and explains things much clearer than other books I have looked at over the years. I will say that Java development is still not much better than it was 20 years ago, at least on a Windows OS. I know some people will like to bash me for that comment but let me tell you about day one of working through the book and why Java still has a long way to go. (In retrospect after writing this, the blame is not really Java but the IDE. About 20 years ago, both were an issue but at least my issue is more to do with the IDE rather than Java.)
Installation of Android Studio seemed to go well. I got through the GeoQuiz example with no problems other than needing to use a physical device rather than the emulator due to Hyper-V being enabled on my system. I then worked on the challenge by copying the completed example and opening the copy. I made my changes and attempted to launch the application. I received an error that the apk could not be loaded or copied and a prompt was given to uninstall the apk with a warning that user data may be deleted. Since the application did not have associated user data, I clicked the button to uninstall the apk. Another error showed up in the log stating that the apk could not be copied or installation failed. (Sorry, I do not call the exact text.)
At this point, I assumed that the issue was with my device having the application installed from the sample so I decided to try the emulator. I was being a bit lazy so I clicked the link in the emulator selection to turn off Hyper-V. This change required a reboot so I let the PC reboot. On reboot, Windows 10 attempted to fix an error and stated that automatic repair failed to fix the issue. I attempted to turn Hyper-V back on from the command prompt but I was unable to do so from the Windows PE command prompt. I then decided to try turning off early anti-virus and the PC rebooted. Of course I was not happy about that especially since my AV software kept complaining that it could not reach the live-update site and other issues. Basically I had a mess to clean up. Once I finally got the OS squared away, I decided to go back to the challenge. Now Android Studio was having all kinds of issues. (All of these issues may be related to other attempts to boot back into Windows including restoring a previous restore point.)
I uninstalled Android Studio, deleted the files in the Program Files folder, rebooted, and reinstalled Android Studio. I was still having issues launching Android Studio. I finally found that I needed to delete the contents of the C:\Users\AppData\Local\Android\Sdk folder. I then needed to reinstall the SDK, emulator, and build tools. Once these were reinstalled, Android Studio behaved well as it did before. I attempted to run the application and the emulator launched so that was great news but I received the original error regarding the apk file.
I was at a loss but looked a bit more into the log file and it pointed me to a file in the C:\Users\Documents\AndroidStudioProjects\GeoQuiz – Challenge\app\build\intermediates\split-apk\debug\slices folder. I deleted all of the files in the folder but I still received the same message. This was getting quite frustrating so I decided to try deleting all of the files and folders in the C:\Users\Documents\AndroidStudioProjects\GeoQuiz – Challenge\app\build folder. I attempted to build and run the application again. Low and behold, this time the application launched in the emulator. Finally success.
With all of this said, I’m going to keep marching on. It is very frustrating to have the Android Studio behave this way but hopefully my rant here will help someone. If nothing else, it will serve as a reminder to myself what to do when this error occurs.
Here are some locations of note regarding where Android Studio places files. If you want to uninstall and reinstall Android Studio, you should uninstall, delete the following folders, and reinstall. (These may not be all of the locations but these are the ones I found.)
- C:\Program Files\Android
- C:\Program Files (x86)\Android