We build Android-based game Apps on the Cocos2d platform using C++ and JavaScript. App uses no internet.I can able to see the crash report when we use the android studio to debug. but how to catch the log/report when the app crashes on the mobile device when it's not connected to Computer.
Use crash reporter, which allows your to view crash-related information on the web when a crash occurs. It's easy to integrated into your project by reference each document.
You can use Crashlytics by Fabric (recommended)
The most powerful, yet lightest weight crash reporting solution. You can easily integrate with your app through gradle and get crash report.
Enable NDK crash reporting in your project, for more information check this thread.
BugSense
Related
I have released an Expo app and now need to remotely deduce the cause of errors. I've exported both an Android and iOS build from Expo with expo build:ios or :android and have deployed them to users via Google play console and iTunes Connect.
A user reported a crash on Android, but in my Google Play console I see no evidence of a crash under "Vitals." This is probably because the app is bundled under the many layers of expo.
I need a way of seeing this crash, so Ive looked at Bugsnag, Sentry and others, but I don't understand whether they will work for this use case.
Will these crash analytics tools give me info if I'm deploying a compiled Android build? Or is this a pre-compile solution?
One of the projects I worked with uses a combination of React Native and Expo to create Android and iOS versions of the app. The app is released in Google Play and Apple's App Store.
We experienced similar limitations with the crash reporting in Android Vitals and use Sentry for the error reporting. The crashes appear as errors in Sentry. They include additional information such as network requests and responses which can help debug some of the errors.
AFAIK Sentry still offer a free tier that a single developer can use. They and others offer paid-for services. One to consider is RayGun https://raygun.com/blog/react-native-monitoring/ (I've not tried it however the documentation looks like it may suit your needs).
PS: I just discovered that Expo endorse using Sentry https://docs.expo.dev/guides/using-sentry/ which is an encouraging indication Sentry should be suitable.
Does Firebase Crash reporting support NDK / C++ in the latest version?
Has anybody tested it and how are the results?
Firebase Crash Reporting currently does not support NDK/native code. The team recommends use of Crashlyics (acquired by Google) for NDK crash reporting.
Firebase Crash Reporting automatically generates reports for fatal errors (or uncaught exceptions). However, you can also generate reports in instances where you catch an exception but still want to report the occurrence. To report such an error, you can follow the steps listed on official Doc :
Some time You got an email from google Firebase to your registered email address to solve out bug
only supports collecting Java crashes (on Android).
For more information look this blog
I have tried to find out from the documentation whether Google is supporting NDK C++ crashes in the newly released Firebase Crash Reporting. So far I have seen only Java crashes support.
Does any one know if Google is planning to add support in the near future.
In the initial beta version, Firebase Crash Reporting only supports collecting Java crashes (on Android).
Can't make any comments on future support, but its certainly an important area to consider for us.
After google's acquisition of fabric and their claim that crashlytics will become the main crash reporting tool for firebase; I would say that crashlytics is the way to go. Crashlytics also has good ndk support
I have an Android app which has a C++ library (via JNI).
Whenever the library crashes, it makes the app also crash, but I don't receive the crash on crashlytics.
Is this a limitation of Crashlytics. Does it only catches the uncaught Java exceptions?
Note: Any Java exception on main thread that makes the app crash is caught by Crashlytics, so I know it is working.
Now it's official, Crashlytics supports NDK!
If you read their blog:
http://www.crashlytics.com/blog/crashlytics-february-2015-update/
They say:
Latest Toys from Crashlytics Labs : Many of you who are building awesome apps with the NDK on Android have
requested support from Crashlytics. Since opening access to our beta
program in October, our Labs team has continued building this out and
enhancing its functionalities every day. We’re now working with top
companies who have already shipped their apps with our beta — so if
you haven’t test out our NDK beta yet, request early access here
You can get the beta access here:
http://try.crashlytics.com/secret/
Edit:
We been using the beta for some time now and it does the trick nicely. It's now out to the general public and you can read their blog post about it.
You're right that the Android SDK only catches Java exceptions at the moment. Twitter announced that Crashlytics has NDK support coming soon, though.
I've got a cordova app (build on Ionic framework) that fails in runtime on my Android device. Though It works fine on my genymotion emulator. The installation is working and the app starts, but it exits abruptly on some point.
I don't think I can debug it because the OS is Jelly Bean 4.2 (at least 4.4 needed). But can I find some logs? Maybe create them myself.
Integrate a robust crash analytics engine such as ACRA or Crashlytics, now bought by Twitter and made free as part of Fabric.
This way the engine records and sends crash data to your online account, including many many details and the stack trace.