Android在上传到市场时会隐藏应用程序中的日志

时间:2012-03-05 07:53:17

标签: android publishing logging

我的应用程序有很多Log.i();为调试添加的语句。现在,如果这样的应用程序需要上传到市场

  1. 是否应删除这些日志,如果是,则手动删除方法很简单

  2. 如果没有删除,如果用户在从市场安装后运行该应用程序,那么这些日志是否会出现

  3. (我试图查看某些应用程序的日志,但我看不到来自应用程序的任何日志。我只能看到来自活动管理器的安卓日志。但我不明白为什么如果不删除它们就不会显示日志来自代码)

2 个答案:

答案 0 :(得分:4)

Preetha,日志将保留在手机上,任何用户/开发者都可以通过安装Catlog等应用来检查它们,即使不使用adb!这是一个问题,因为您可以向用户/其他开发人员提供不必要的,有时是机密的数据。

解决这个问题的简单方法?

一个。使用Proguard自动阻止所有日志,this stackoverflow thread

中的更多信息

在这里,您可以自动阻止Proguard

中字节码级别的所有日志
-assumenosideeffects class android.util.Log {
    public static int v(...);
}

以上,例如,将删除任何详细日志记录,more in this thread

湾我对所有日志使用if(DEBUG)Log.i,因此只需更改一次布尔DEBUG即可打开/关闭所有日志

℃。一个简单的解决方案:用//Log.i替换所有Log.i:)

答案 1 :(得分:2)

是的,一个好的做法是删除测试期间调用的所有日志方法,

是的,当用户下载应用程序时,它会向他/她显示您所做的所有日志。

您可以做的是在该课程中使用static Class方法创建static

当您想要进行日志调用时,只需通过ClassName.Method

从任何地方调用该方法

一旦你完成了在静态类中编写的静态方法中的COMMENT简单测试。