我的应用程序有很多 Log.i();添加用于调试的语句。现在如果需要将这样的应用程序上传到市场
是否应该删除这些日志,如果是,是否有比手动删除更简单的方法
如果不删除,如果用户从市场安装应用程序后运行应用程序,是否会出现这些日志
(我尝试查看某些应用程序的日志,但看不到应用程序中的任何日志。我只能看到 Android 日志,例如活动管理器中的日志。但我不明白为什么如果不从代码中删除日志,则不会显示日志)
Preetha,日志将保存在手机上,任何用户/开发人员都可以通过安装类似的应用程序来查看它们即使不使用 adb!这是一个问题,因为您必须向用户/其他开发人员提供不必要的、有时甚至是机密数据。
解决这个问题的简单方法?
a. Use Proguard http://developer.android.com/guide/developing/tools/proguard.html自动阻止所有日志,更多信息见这个堆栈溢出线程 https://stackoverflow.com/questions/5553146/disable-logcat-output-completely-in-release-android-app
这里可以自动屏蔽Proguard中字节码级别的所有日志
-assumenosideeffects class android.util.Log {
public static int v(...);
}
例如,上面的内容将删除任何详细的日志记录,更多内容在这个线程中 https://stackoverflow.com/questions/2018263/android-logging
b.我对所有日志使用 if(DEBUG) Log.i,这样只要更改布尔 DEBUG,我就可以打开/关闭所有日志
C。一个简单的解决方案:将所有 Log.i 替换为 //Log.i :)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)