Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android logcat:使用电子邮件从设备发送日志条目 脚本_Android_Logcat - Fatal编程技术网

Android logcat:使用电子邮件从设备发送日志条目 脚本

Android logcat:使用电子邮件从设备发送日志条目 脚本,android,logcat,Android,Logcat,我已经向一些朋友发布了Android应用程序的测试版。现在,我想修复测试期间出现的一些bug 我已经设置了第三方崩溃报告实用程序,因此我可以轻松处理应用程序崩溃。但是,有些错误行为不会导致碰撞。在这些情况下,我想检查应用程序日志,看看哪里出了问题 应用程序是否有办法通过电子邮件发送其logcat条目? 澄清 有许多日志应用程序(,)可以检查和显示logcat条目。但是,自Android 4.1以来,这些应用程序无法访问其他应用程序的日志 我不介意在设备中占用大量空间-此功能仅适用于beta测试

我已经向一些朋友发布了Android应用程序的测试版。现在,我想修复测试期间出现的一些bug

我已经设置了第三方崩溃报告实用程序,因此我可以轻松处理应用程序崩溃。但是,有些错误行为不会导致碰撞。在这些情况下,我想检查应用程序日志,看看哪里出了问题

应用程序是否有办法通过电子邮件发送其logcat条目?

澄清
  • 有许多日志应用程序(,)可以检查和显示logcat条目。但是,自Android 4.1以来,这些应用程序无法访问其他应用程序的日志
  • 我不介意在设备中占用大量空间-此功能仅适用于beta测试人员
  • 解决方案应在没有
    root
    或任何其他特殊权限的情况下工作

在您的主要活动列表中调用此方法

 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[] = {"yourmail@gmail.com"};
 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..."));
 }

听起来好像
RemoteLogger
正是您所需要的

将调试日志记录捕获到用户可以通过电子邮件轻松发送给您的文件中。这是为了解决用户报告的不可再现错误而创建的。为了清楚起见,日志记录被删除到了一个版本的应用程序中,该应用程序用于测试用户以进行故障排除。在最终生产代码中删除

库提供了启动、停止、发送和删除日志文件的挂钩


你读过这个吗?可能是尼斯的复制品。我甚至可以将它连接到一个按钮上,这样用户就可以在我要求时将日志发送给我。当然,一旦它起作用,我会尽快发送。您知道它是否需要root或其他特殊权限吗?此解决方案是否过时?我得到一个弹出的片段,上面写着“没有任何应用程序可以执行此操作。”这可以通过
emailIntent.putExtra(Intent.EXTRA_STREAM,Uri.fromFile(outputFile))。但是,附件结果是空的(或者gmail应用程序告诉我是空的。)@AndyCr15请查看中的SendLoagcatMail您确定它可以发送logcat日志吗?看起来您应该显式地添加日志条目