我的应用程序有很多Log.i();为调试添加的语句。现在,如果这样的应用程序需要上传到市场
是否应删除这些日志,如果是,则手动删除方法很简单
如果没有删除,如果用户在从市场安装后运行该应用程序,那么这些日志是否会出现
(我试图查看某些应用程序的日志,但我看不到来自应用程序的任何日志。我只能看到来自活动管理器的安卓日志。但我不明白为什么如果不删除它们就不会显示日志来自代码)
答案 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
简单测试。