I'm developing an Android app which has some complex logic and I am having issues troubleshooting the app that has been installed by beta-testers.
Does anyone know if there's an easy way to capture logcat output and either manually or automatically email it back, or send it to a server? I have asked the person testing the app to install aLogcat app and send me the log, but there are 2 issues with this:
it sends all kinds of logging from other apps that I'm not intested
in
it captures a limited amount of log entries, and did not give the
log entries I needed.
If anyone has any experience with a similar problem and how to solve this, it would be much appreciated.
You could use Acra. I have used and it is great. It can send the crashreport to a GDoc.
I'm pretty sure there are other tools too, and I think since Android 2.2 google has something built-in but I haven't found any docs about it. (Android Error reports).
I would recommend Bugfender. It lets you send all logs to a centralized cloud server, completely managed by you, no need for the user to intervene.
Note: I am one of the creators of Bugfender, still I think this could help solve question.
Related
I'm still fairly new to Android coding. I've made lots of use of the Log.d() function in my code to display lots of handy logging messages to the logcat console within the Android Studio environment, when I run the app with the device connected to the computer (or on an emulator).
Now I'd like to be able to get debug information from a user when the app is running on their device, hopefully showing the same Log.d() messages that I see in the logcat console within Android Studio.
I've done some searching but can't seem to find a straightforward guide as to how this is achieved.
Thanks.
You have to use a web server. First send the content of logd() to your server and then check them on your server. However, you may want to test your own apps instead of asking users to test. Google developer console has a place to show some debug information if your app crashed when users are using them.
You can use a webserver, file-backed logger, or any other way of saving/submitting data on the fly.
Most people will recommend either some form of integrated web service like HockeyApp, etc., but you can get it done just by sending a plain old text file if needed. FYI, not best practice, but it gets the job done.
I know this has been asked, but I haven't found a clear answer. My app allows the user to email the developer and I would like to attach a log file if it exists. How can I do that?
Also, are there any permissions I will need to declare?
It looks like, that there is no way from Android framework how to do that. But I am also interested in the sending silent logs of my applications, because a lot of users just tap no, if Android is asking for sending the logs.
It should be possible to do that with ACRA library, I didn't try that yet. But I am planning.
Have a look on:
ACRA basic
and
ACRA project - sending logs by email
I hope it will help
[Disclaimer: I looked around at the other stackexchange websites and couldn't find a perfect place to post this question, so i'll post it here. i'm happy to take it down and place it somewhere else if you know where this is supposed to be. please do not downvote because of that]
Currently we use a 3rd part tool (HockeyApp) for monitoring crash reports on an android app. They have an API that i can use to query for crash reports. I want to be able to have an automated crash report system where if certain conditions are met, i get an email (or maybe a phone call). For example, say i get 9001 crashes within an hour, i would like to receive an alert.
Is there a tool for doing this already? (crash monitoring for android, using hockeyapp is highly preferred)
I looked into rolling out my own Ruby on Rails app for doing this, using ActionMailer apis. has anyone had any experience with this and recommend it? Or what would be a better approach? (If i have to roll out my own tool, dev time is of the essence)
What kind of tools do your/other companies use for this kind of situation (crash alerting/pager duty)?
You can continue to use HockeyApp and set a webhook when a new crash was created. This webhook can point to your own backend or to a service like Zapier, which can then trigger a PagerDuty, email or all kinds of notifications.
You can look at crashlytics. They notify by email and send daily stats on email. For detailed stats you can visit your account. But this service is only for crashreporting.
I am working on android device policies, i am able to implement wipe data, force lock using sample given at below link
http://developer.android.com/guide/topics/admin/device-admin.html. I am not able understand how to wipe, force lock, change pwd Remotly from server. I spent lot of time in searching to get information but i am not suceed. Please give any information to implement policies Remotely.
Thanks in advance.
I've googled around a bit today as well, and I've come up with the following solution:
First, write a device administrator app, like the one referenced in the link you provided.
Then you will have to implement some technique so that you can push messages from a server to the android client. As of Android 2.2, you can use C2DM (Cloud to device messaging) provided by Google, I guess it isn't to hard to configure and get going. If you do not want to use this, there is the option to use some other kind of messaging framework, that allows you to push data, like XMPP or MQTT. The facebook messenger app for iOS uses MQTT, so that can't be all bad. It will however require more work setting up, than C2DM for example.
Finally you will have to push some kind of message from your server to the client via the method you chose and let your device administrator app listen to these messages and respond with the correct action, depending on message. So you can decide on your own what the messages will look like and contain.
There is also the option of using Exchange, but I do not know how that works.
So that is basically what I found out from my little research, I'd love to hear other ideas from someone else as well.
I'm working on the Android version of an application I first created on iPhone and this application requires to send (if it's as successful as its iPhone version) up to millions of push notifications to users daily.
I naively thought the Android platform had a push notifications service as its sibling so I decided to look at this feature at the end of development and now here i am!
I searched stackoverflow for answers about this feature (issue ?) and found several options (thanks guys!) BUT did any of you guys was able to achieve such a feature with such a volume?
Here's the options I found :
Google's C2DM Framework : my first issue is that it's for Android 2.2 + only but I may consider it if there wasn't this 200.000 notifications a day quota; did any of you guys requested more quota from Google ?
MQTT : this solution looks good and the sample code provided by Anton Lopyrev is helpful (and Dale Lane blog posts are a good read); this is the option I'm using right now but I have no idea about how it may react with thousand of users (I also have trouble with the server (mosquitto) OR the service (I don't know yet) and I am not able to receive notifications sometimes with 2 users :p)
XMPP : it looks like the best option (yet ?) but I haven't tried it yet; did any of you guys use this solution ?
I've read about Xtify or Urban Airship but none of these commercial solutions may help (volume or cost).
Thanks for any tips!
Edit : my goal is to be able to send up to 5,000,000 notifications a day
200K is the development quota, we'll be happy to grant you more if you need it. Android 2.2+ represents >80% of Android devices in the field today. We typically turn these requests around pretty quickly.
http://developer.android.com/resources/dashboard/platform-versions.html
All I would mention is that XMPP can be pretty verbose, you might want to look at MQTT if you want to keep your network usage low as it is very efficient.
If you are trying to send many million notification or presence packets, SoapBox Server 2012 is capable of sending over 100k message per second on a single server as well as concurrently connect more than 250k users.
Our 8th generation platform has been designed for non instant messaging use cases, such as Remote Device Monitoring (RDM), Cloud Message Bus, Software Defined Networking (SDN).
You can download a free trial of our XMPP Server and XMPP SDK at our website.
Update: according their blog post Notifo Will Be shutting Down. But that blog post is already more than a year ago and I believe they are still up and running
Also I would like to point you out to notifo which is pretty cool. I don't know about if they have a quota at all, but I guess you should sent them a message, which generally gets responded within a day.
Base on my investigation, if you want to use C2DM,the google framework must be installed in your android device. If you have google play, that implies google framework is installed.