为了我自己的调试目的,我的代码中充斥着 Log.g()
调用,我使用 Proguard
来 remove on release .
一个特定的用户遇到了我无法通过其他方式追踪的性能问题,如果看到导致在他们的设备上运行应用程序的 Log.d()
输出,我真的会受益匪浅.
那么有没有一种简单的方法可以从用户那里获取此输出,而无需对他们的设备进行 Root,也不必让他们经历任何丑陋的黑客攻击或安装他们可能会担心的第三方应用程序的麻烦?
最佳答案
有几种方法可以跟踪来自客户端的日志。
- 如果发生崩溃,您将在 GooglePlay 开发者控制台中看到堆栈跟踪:https://play.google.com/apps/publish
- 您可以使用一些错误报告库,例如:掌声http://www.applause.com/mobile-sdk , 碰撞分析 https://try.crashlytics.com , Instabug https://instabug.com
- 您可以编写自己的机制来发送日志,但它需要在您这边实现日志服务器。
- 如果是 beta 用户,如果您向他发送可调试版本的应用程序,他可能会在没有 root 权限的情况下将手机连接到 LogCat。
否则,如果 Proguard 删除了应用程序的所有日志,应用程序有 debuggable=false 并且您的客户端不想安装由您提供的可调试版本的应用程序,则不可能获得与您相同的日志在您的可调试版本中。
关于android - 从应用程序用户获取 Log.d() 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34794585/