我即將發佈應用程序。我應該在catch
報表中刪除Log
報表和e.printStackTrace()
報表嗎?在發佈應用程序之前應該禁用日誌嗎?
4
A
回答
4
即使對於部署的軟件,日誌也是必不可少的故障排除資源。
我會限制生產版本的日誌記錄(甚至可能將其限制爲「僅登錄緊急情況」)。但我會而不是斷然說「不記錄」。
這裏是一個很好的討論(有一些很好的指導方針):
PS: 說了這麼多,我趕緊補充:
不,你應該不是在生產版本中有任何「調試」或「信息」日誌記錄。
這正是上述鏈接中引用的Android文檔所說的。
1
有時啓用日誌可能會產生安全問題。大多數Android應用程序不需要擔心這個問題,原因有很多,但我個人只是習慣於禁用基於開發人員的功能,除非您希望用戶幫助您調試其他設備上的問題,這在我的經驗中並不常見。
2
這被普遍認爲是一個很好的做法,因爲:
- 如果您的日誌報表,如果圍內的調試標誌語句,你該標誌設置爲false,那麼當您編譯項目,這些語句會自動排除,減少apk的大小,但不是太多。
- 由於日誌與所有其他應用程序共享,因此在生產應用程序中不要使用這些消息是可以考慮的,因爲它們會在調試時混淆其他開發人員的logcat。
- 有時,您可能正在記錄敏感數據,如簽名,密鑰,密碼,電子郵件,用戶名等。禁用日誌可以防止您的應用程序意外泄漏此類信息。
0
答案是YES。
您可以隱藏它們,將一些行添加到proguard.cfg文件中。該應用程序已經簽署
-keep class * extends android.app.Activity
-assumenosideeffects class android.util.Log {
public static *** d(...);
public static *** e(...);
public static *** i(...);
}
後沒有一個人能讀調試,錯誤和信息日誌。 希望它有效。
相關問題
- 1. 在發佈日期之前發佈應用程序
- 2. 在發佈我的應用程序之前應該做的事
- 3. 在應用程序退出之前,socketpair端應該關閉嗎?
- 4. Yii應用程序日誌散佈COUNT(*)
- 5. 應用程序工作之前,現在不是。日誌貓
- 6. 發送應用程序崩潰日誌/常規應用程序日誌
- 7. Node.js應用程序應該發佈到npm嗎?
- 8. mod_rewrite在開發應用程序之前
- 9. 安卓市場在發佈之前測試開發者應用程序嗎?
- 10. 是否需要在應用程序發佈前刪除日誌和調試?
- 11. 在用戶「喜歡」應用程序之前,我可以發佈到Facebook應用程序牆嗎?
- 12. 在發佈之前刪除日誌System.Diagnostics
- 13. 在Worklight應用程序中啓用/禁用日誌記錄
- 14. 應用程序日誌
- 15. 在發佈之前確定Android應用程序的大小
- 16. 在Spring應用程序中禁用Hibernate日誌消息
- 17. iphone應用程序崩潰,崩潰日誌發佈
- 18. 從Android發佈應用程序的日誌錯誤
- 19. 在發佈新版本的應用程序之前測試應用內結算
- 20. 發佈之後的應用程序
- 21. 將應用程序日誌轉發到Windows事件日誌
- 22. 從Web應用程序導入日誌文件,我應該這樣做嗎?
- 23. 應用程序日誌應該包含哪些內容?
- 24. Visual Studio應用程序在發佈之前在商店中發佈並且不在發佈之後
- 25. iOS:應該只在本地App Store中發佈我的應用程序嗎?
- 26. 我應該在開源應用程序中發佈我的Spotify API密鑰嗎?
- 27. 在發佈ASP.Net MVC應用程序時應該部署cs文件嗎?
- 28. 我應該使用打印語句將應用程序發佈到App Store嗎?
- 29. 發佈應用程序之前的最終清單
- 30. 發佈我的Android應用程序之前的問題
一般來說,是的。 – gobernador