Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Debug App in Galaxy S5

I am building an Android app for my company, using Android Studio 1.5.1 . I've discovered that the app won't work on some Galaxy S5 phones.

These phones just show a white screen when the app runs. This error happens on Galaxy S5 devices with Android version 5.1.1 But not on an Galaxy S5 Device running Android version 5.0

I'm focusing on the Android Version as a clue to solving this bug. I can't actually get one of the devices so I've created several Virtual Devices. There are 6 Downloadable system images of Android 5.1.1 in Android Studio's Virtual Device Configuration wizard. I've installed all of them. none replicate this white screen error.

What else can I do to uncover this bug?

If it helps answer my question, my app relies heavily on server communication. The whole app is just one Webview with a few html & JS files.

like image 265
GRY Avatar asked Jan 26 '16 16:01

GRY


1 Answers

The problem with emulators is that they are not reproducing actual device behaviour(especially, once many OEMs like Samsung tend to customise Android based on their needs), so I'm afraid the only options you have are:

  1. Get Samsung Galaxy S5 with 5.1.1

    Apart from obvious ideas "go to shop and buy", I can recommend you:

    • to take a look at Open Device Lab. It operates around the world and there's an arguably good chance to find the device you need there;
    • build a pool of alpha-beta users you can talk to and share new builds. Google Play has quite rich functionality in this area. Samsung S5 is quite common model, so it shouldn't be a problem to find people with it. If your product is "public", you can try to find beta-users on services like BetaBound or just among your social media network;
  2. Use Analytics tools to collect more data from affected devices and act based on the information you get

    There're dozens of different frameworks for accomplishing it. I can suggest Crittercism as a super powerful and comprehensive tool. In particular, I'd definitely log:

    • All handled exceptions
    • Add breadcrumbs (short string to capture app run-time information) to all Activity/Fragment lifecycle methods, to Application's methods (as white screen on start might mean some issues there), to all meaningful async tasks, etc.
    • If app gets into suspicion state - log it as a handled exception, so you can see the whole trail of breadcrumbs and track history of exceptions for the user. Unfortunately, you won't get trail of breadcrumbs, before something has been logged as an issue (crash or exception). There're frameworks, which log everything, like MixPanel, for example, but I honestly think that Crittercism suits much more here)

    Crittercism will also catch & report all crashes happen in the app and

    The Get Started Guide is here and it's pretty straightforward: http://docs.crittercism.com/android/android.html

Saying that, I'd suggest you to integrate some analytics anyway, as it'll help you in the future and to try to get affected phone in hands for test.

like image 168
Konstantin Loginov Avatar answered Nov 06 '22 04:11

Konstantin Loginov