Android - 崩溃应用程序在附加调试工具时故意

时间:2012-07-28 16:35:22

标签: android crash

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

问候。

PS:

我想在生产环境中编写日志,因为它们可以帮助我微调我的应用程序,但不希望任何其他人看到它们。

1 个答案:

答案 0 :(得分:0)

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

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

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

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

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

使用proguard。 proguard是一种在编译后操作字节码的工具。您可以使用它来删除代码中的所有日志记录(以及其他内容)。有一个学习曲线,以便与proguard一起开始,但它非常强大。

这是另一篇文章,为该主题提供了一些深入的讨论。

How do I enable/disable log levels in Android?