At some point, you will probably run out of creative ways of convincing your friends to lend you their phones for more than 5 minutes. Eventually you will need to test your app on another device than your own. So what do you do?
After having tested my app on my Samsung Galaxy S7, and on several android nexus emulators that are provided with Android Studio, I was sure that my app was ready to be deployed. But just in case, I asked a friend to lend me his Samsung Galaxy S4 for a final test. Murphy’s Law was right there to greet me. As soon as I installed my camera App on the phone it crashed!!! My initial reaction was, nooooooo!!!!! please work!!!!.
For some reason my app worked on the Nexus 4, the Nexus 5, the Nexus 6 and 6P, the Pixel, Samsung Galaxy S7, but NOT the S4. how is that possible? I had to go back to the drawing board, but I needed my friend’s Galaxy S4. He kindly lent it to me from time to time but it wasn’t efficient from a debugging stand point, I needed to keep the phone for longer than 5 minutes every 4 days. So I googled Samsung Galaxy S4 emulator, and landed on this . Samsung provides emulator skins for all their phones. Amazing! Thanks Samsung. I downloaded the skins I needed from here and followed their instructions.
The only complication I had was at point 8 of the instructions “In the Default skin, select the folder of the zip file you extracted in the device-art-resources folder.” to select the folder you must click on the three dots.
But as much as I clicked on the three dots to open the menu and browse to the location of the skin, nothing was happening. Finally, I realized that you should open the drop-down menu and select “No Skin” even if its there by default, or anything else just to activate the three dots. Wasted 30 minutes on this. Other than that, the instructions worked fine and I could finally emulate a Galaxy S4 to debug my app.
For those of you who want closure, the issue was partly due to the android version “API 21”, but also, because the front face camera of the Samsung Galaxy S4 did not support zoom-in functionality, which was an integral part of my app. Now I know, before using a phone service, make sure that in your code you check that the service exists. Don’t assume that it comes standard with every phone just because your model has it.