Specific Android Phone and OS causing errors with my app - android

I recently released my app to the Google Play community. The team and myself tested the app on Gingerbread, jellybean, and kitkat. All were either Samsungs or Nexus. Now we have someone getting a crash on a Motorolla Droid Bionic, Android version 4.1.2.
My app required wifi (not Cell data) connection which is not possible with androids emulator. I am in the process of installing android on VirtualBox but I don't know if this will allow me to identify the problem.
Should I be this concerned? This is my first app and I want to make sure it works for everyone? This app is for controlling a home appliance so I feel like we need to make sure that it works, but I'm not sure how to really get accurate test results and error messages.
What do other developers do to emulate accurately specific phones and OS versions?
thanks for any advise and help.

Ask for the "Stack Traces" reported in "Crashes & ANRs" section of your application in Google play Developer Console to have more details about the problem.

Related

Android: How to I test for bugs on a device I don't have?

I just finished my first Android app. I tested it in the emulator and on my personal device (Nexus 6p). Other folks are installing it and it's working for them. My dad, however, also gave it a try. He has a Samsung Galaxy S6 running 6.0.1, and the app crashes on startup for him.
My guess is it's something touchwiz related. The thing is, he's not the most technical person, as far as getting a logcat would go. So... what are my options to try and investigate this issue?
Crashlytics can help you to retrieve the stack trace and exceptions when your app crashes.
But if you want to test and fix before the deploy, another options is Xamarin Test Cloud, it's a paid solution, but have a free-trial
[EDIT]
Searching in the internet, I found something similar to Xamarin Test Cloud, I personally have not tested this solution, but you can check it out.
TestMunk, they have a free plan.
This is an aspect of the extreme fragmentation of the Android ecosystem. I've seen bugs that manifest only on a specific device from a specific carrier. For example, at one point, Verizon broke ACTION_HEADSET_PLUG on one of their tablets, so that no app would ever receive it. It had worked fine on an earlier firmware version. Naturally, they refused to acknowledge the problem. The same tablet model from T-Mobile never exhibited this issue.
This is why I don't trust the emulator. It's fine for early testing, but you still need to test on the actual hardware that you intend to support. There are online services that test your app on a wide variety of real devices to try to uncover the weird vendor-specific issues. I've never used these services, so I can't recommend one.

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.
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:
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;
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.
I guess the culprit is webview. Can you check the webview version on which the issue is reproducible.
To check the version you need to go to settings->Application Manager-> Downloaded Apps-> check "Android System Webview"version
We had a similar issue when the screen used to go blank and it used to happen only on particular version of webview. The issue was fixed by Google later.
The chromium webview layer is now updatable from Google Play.
For more details refer-http://developer.android.com/about/versions/lollipop.html#WebView
I assume you are building a hybrid app.
If the webview is the culprit, you could try crosswalk.
It adds Mb's to your app but it makes sure every device uses the same webview (latest chromium). Moreover rendering differences etc are also minimized.
if you are using cordova run: cordova plugin add cordova-plugin-crosswalk-webview and that's it.
If you implement this and the whitescreen problem is gone, you debugged it in a sherlock holmish deduction way...
The problem is not with emulator. It is with WebView in Android versions 5.1 onward.
Try
uninstalling the updates for "Android system webview" app (go to
settings and look for it under "downloaded") it works just fine!
Source - similar question

Android app behaves differently between developer's device and tester's device

I've got an Android app which works perfectly on all the devices I've tested on, by installing via Android Studio or downloading to the app from Crashlytics (Twitter's beta distribution product among other things).
Unfortunately when the client installs the app (via Crashlytics) it doesn't work correctly for them (relating to bluetooth connection functionality).
Does anyone know of any differences that could result from this situation? Are the devices I've tested on somehow setup differently to the tester's device because mine have been used in a dev environment..?
Well got both the clients devices in and they worked first time for me so I'm not sure what was going on, they seemed to be doing everything right but I've got nothing more to go on at this point!

Testing Issues on Particular Android Devices for Mobile Website

I am trying to recreate an issue which is only caused on HTC One XL phone running Android 4.2.2. It is a styling issue which can be fixed with CSS. The problem is that the Chrome Developers Tool does not have a profile for HTC One XL phone running Android 4.2.2.
I do not have a real device! How can I test for an issue that only exists on particular phone running a particular Android version?
FInd someone with the device to test a beta or debug info gathering build. There's three reasons one particular device has issues.
1)Hardware problem. No emulator will solve this as they won't perfectly emulate hardware.
2)Software bug on this device's framework. Since each OEM ships their own set of patches, there's no way to know what is actually running, except for having the device.
3)Something weird in the system of an individual user. Some odd combo of software, hardware, and data. You need that actual phone to fix this, but it generally only effects a handful of users.
But none of these are solvable without access to the device, or a real Eureka moment. More logging helps, but you'd still need to get those logs which requires a device.

Problem in finding android app in AT&T and Sprint android devices from the Android Market?

I am new to android development, i created some applications and published in android market place. I am facing issues with some devices like AT&T and Sprint android devices that these devices are unable to find my application in android market.
Can any one tell me why these devices are not able to find my app from the android market?
Any help will be appreciated.
Thanks,
Sathish.
What do your apps do?
You should read and understand Market filtering.
In a nutshell, it seems likely that those devices that cannot see your apps are either unable to run your app (so they never see it), or the carrier has modified the firmware image or market experience to prevent installation of some types of app.

Categories

Resources