0

我想检测是否有任何调试工具附加到 android 设备。我想要这个功能,这样当应用程序发布给人们时,没有人可以看到日志。

问候。

PS:

即使在生产环境中,我也想写日志,因为它们会帮助我微调我的应用程序,但不希望其他人看到它们。

4

1 回答 1

0

如果不是系统应用程序,您无法检测是否连接或启用了 USB 调试。但是,我们可以讨论如何解决您的问题。如果您不希望您的应用程序登录您的官方市场版本,有几种可接受的方法来解决它,

有条件地登录。像这样包装所有日志消息,

if (DEBUG) Log.d(...);

在构建官方市场 APK 之前,DEBUG在代码中设置为 false。一个更好的方法是在android的记录器周围添加一个包装方法或类。例如,写一个这样的方法,

void d(String msg) {
  if (DEBUG) Log.d(msg);
}

使用proguard。 proguard是一个编译后操作字节码的工具。您可以使用它从代码中删除所有日志记录(除其他外)。使用 proguard 的学习曲线很安静,但它非常强大。

这是另一篇文章,对该主题进行了深入讨论。

如何在 Android 中启用/禁用日志级别?

于 2012-07-28T16:44:52.433 回答