I have a problem with an Android App that I have on the Android Play Store. In the Google Play ANRs & crashes report, there are reports coming from tests that I have done myself during my developments in Android Studio.
I’m sure of that because the model of the phone corresponds to my phone and the line where the crash occurred didn’t exist at all in the last release.
I would like to know if there is a way to avoid such problem. When doing developments in Android Studio, shall I change something to be sure that any crash that I generate during my tests will not be sent to Google Play ANRs & crashes report?
I would like reports to be sent only for signed releases.
Thanks for your help
Related
I have a problem as I have much more crashes reported in Google Play Console than in Firebase Crashlytics. Around 15% in Google Play Console versus 2% in Crashlytics.
Note that most crashes come from C++ code (NDK/JNI).
I don't know which tool gives the correct data.
How to solve this issue?
Thanks.
Have you tried upgrading the NDK version being used in your application? It looks like a problem with Older NDK on newer Google Play Services.
I am converting my existing application to Android Instant App. I have successfully done that. My app is running in Instant App form. The issue that I am facing now is regarding Firebase-Analytics. When I run instant app I get this error
E/FirebaseInstanceId: Failed to resolve target intent service, skipping classname enforcement
E/FirebaseInstanceId: Error while delivering the message: ServiceIntent not found.
When i try to get FirebaseAnalytics instance using FirebaseAnalytics.getInstance(this); the instant app crashes. I am not able to get any sort of logs on Logcat. My "Installed" app is working perfectly fine. Also if someone can guide me on how to debug Instant Apps, I am not able to debug them or even get logs on Logcat.
Edit
Link to Bug Report
Google Play services for Instant Apps 2.7-release-179555567
With Reference to Google issue tracker
Your Google Play services for Instant Apps version is 1.22...
If you update to the latest, it should be fixed with: 2.7+
Uninstall Google Play services for Instant Apps
Go back to Settings > Google > Instant Apps
It will ask you to restore it > RESTORE
Now try running your instant app again.
If you are experiencing this while trying to build your instant app from Android Studio, you may have to repeat steps 1-4 one more time. On first provisioning, it may install your device with the incorrect version (1.22...), but afterwards, it should be the correct version.
That solved my problem but will users always have the latest Google Play services for Instant Apps (i.e. 2.7+)? As I didn't side load Google Play services for Instant Apps or was it installed by Android Studio?
Ans:-
Yes, users on pre-O should be periodically pushed the latest Google Play services for Instant Apps. Plus, they can always perform steps 1-3 to make sure they get the latest.
On O+, they shouldn't have to do anything either, since Instant Apps support is built directly into the framework from here on out.
Working with the OEMs, Google Play services for Instant Apps have been pushed to all devices which have been deemed compatible for Instant Apps. The other case is where Android Studio installs it when you try to build your instant app to a whitelisted device.
I recently uploaded my app to the Google Play Store but got this pre-launch report in some devices :
Issue: Crash of app com.mypackage running instrumentation
ComponentInfo{com.google.android.apps.mtaas.crawler/android.support.test.runner.AndroidJUnitRunner}
How do solve it ?
I got the answer in Google play Console Help
As of October 2017, the pre-launch report uses a new crawler to provide a more comprehensive review of your app. To do so, the pre-launch report must temporarily re-sign your APK within our test environment.
If you notice any issues, you can switch back to the previous testing process (which doesn't require APK re-signing):
Sign in to your Play Console.
Select an app.
Select Release
management > Pre-launch report > Settings.
In the 'Pre-launch report version' section, move the Opt-out switch to the right until it turns blue.
I have tested and all test passed for all devices, and no more crash for running instrumentation.
I have an app that works on my device while debugging on Android Studio. It works too when I generate the apk copy it to my phone and install it from there. But it doesn't work anymore if i install it from the market.
I just have an error message "Unfortunately, xxxxx has stopped". I checked the crash report in Google Play Console but I have 0 crash, at least for now... Is there a way to get some crash log or some clue to debug this ?
Install crashlytics or firebase crash dependencies and you'll be able to see the crash logs on their consoles. If you don't want that, you yourself can override the Thread.UncaughtexceptionHandler and set your custom handler as the default handler. Just Google how to do that as it's a lengthy thing to explain here.
Also if you are using proguard, firebase crash will need other configurations apart from just adding the dependency. Crashlytics handles this on its own.
How do I check for errors or log errors in release version of my app?
Activity crashes the app in release version but working in debug version. How do I check for errors?
You have a few options before you:
1. If your app is already live, then the Play Store records all exceptions thrown by apps on connected devices. Log into your Google Play Store account and see here.
2. If you need even more detail, the Google Play Services library has deeper support for crash analysis than what you normally get from the Play Store. See here.
3. You can add a support package like Crashlytics that will provide real-time analysis for apps in the wild.
4. Log.e(), Log.v(), Log.i() and Log.wtf() emit log messages even in release mode, and can be observed in the Logcat.
Add crash reporting libraries like ACRA to check error logs in release mode.
Here is link for ACRA library