【发布时间】:2011-01-09 17:49:44
【问题描述】:
我的客户在使用我的应用时遇到问题,我无法在我的开发手机上重现该问题。如何调试这个问题? android Log 类很棒,但我的客户不知道如何使用“adb”或 USB 调试电缆。有没有办法将日志输出重定向到手机 SD 卡上的文件?然后客户可以轻松地将日志文件通过电子邮件发送给我。即使这种重定向需要我自己编程,我至少可以分发应用程序的“调试”版本。
谢谢, 汤姆
【问题讨论】:
我的客户在使用我的应用时遇到问题,我无法在我的开发手机上重现该问题。如何调试这个问题? android Log 类很棒,但我的客户不知道如何使用“adb”或 USB 调试电缆。有没有办法将日志输出重定向到手机 SD 卡上的文件?然后客户可以轻松地将日志文件通过电子邮件发送给我。即使这种重定向需要我自己编程,我至少可以分发应用程序的“调试”版本。
谢谢, 汤姆
【问题讨论】:
请他们安装市场上的免费应用程序“Catlog”,它可以通过电子邮件将他们的 logcat 输出发送给您。我发现 99% 的应用用户能够按照简单的说明操作并获得所需的输出!
【讨论】:
尝试使用 Logger 类。该过程与您在常规 Java 应用程序中所做的相同:
try {
FileHandler handler = new FileHandler("logfile.log");
Logger logger = Logger.getLogger("com.somename");
logger.addHandler(handler);
} catch (IOException e) {
}
然后可以像这样完成对文件的实际记录:
logger.log(Level.WARNING, "Log message")
祝你好运!
【讨论】:
有免费和付费的崩溃报告服务,您可能想查看它们。
唯一的缺点是要自动向您发送目录日志,无需用户交互,您的应用程序需要额外的权限。
这些通常是READ_LOGS、INTERNET、WRITE_EXTERNAL_STORAGE 权限,具体取决于可能影响客户信任程度的应用类型。例如,如果没有在线同步功能,我会惊讶于 myTasksApp 需要互联网权限。无论如何..这里是解决方案(列表将被更新):
我希望你觉得这很有用。
【讨论】: