I have released a beta version of an Android app to a few friends. Now, I would like to fix some bugs that came up during the test period.
I have set a third-party crash reports utility, so I can easily handle app crashes. However, there are some erroneous behaviours which are not causing crashes. In these cases, I would like to inspect the app logs and see what went wrong.
Is there a way for the app to send its logcat entries via email?
root
or any other special permissions.Tap the ellipses, and select “send” to email the log as an attached text file along with general device information. That's it!
Navigate to device settings and enable Developer Options (see section for ADB logs) Navigate to Developer Options and tap on Take/Submit Bug Report. Select Full Report when prompted to get the full device info along with the logs.
Call this method in onDestroy of your main activity.
public void SendLogcatMail(){ // save logcat in file File outputFile = new File(Environment.getExternalStorageDirectory(), "logcat.txt"); try { Runtime.getRuntime().exec( "logcat -f " + outputFile.getAbsolutePath()); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } //send file using email Intent emailIntent = new Intent(Intent.ACTION_SEND); // Set type to "email" emailIntent.setType("vnd.android.cursor.dir/email"); String to[] = {"[email protected]"}; emailIntent .putExtra(Intent.EXTRA_EMAIL, to); // the attachment emailIntent .putExtra(Intent.EXTRA_STREAM, outputFile.getAbsolutePath()); // the mail subject emailIntent .putExtra(Intent.EXTRA_SUBJECT, "Subject"); startActivity(Intent.createChooser(emailIntent , "Send email...")); }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With