Есть ли простой способ «отключить ведение журнала» перед выпуском приложения на рынок? - PullRequest
7 голосов
/ 28 февраля 2011

Я готовлюсь выпустить приложение на рынке, после прочтения документации Google , расположенной здесь , предлагается следующее: Deactivate any calls to Log methods in the source code.

Есть ли более простой способ, чем иметьпросмотреть все мои исходные файлы и удалить каждую строку вручную?

Кроме того, зачем удалять ведение журнала, это либоем ресурсов?

Ответы [ 2 ]

7 голосов
/ 28 февраля 2011

Вы можете сделать это через proguard . В последнем SDK и инструментах файл конфигурации Proguard уже должен существовать. Кристофер ответил на этот вопрос .

Самый простой способ, вероятно, состоит в том, чтобы запустить ваш скомпилированный JAR через ProGuard перед развертыванием с такой конфигурацией, как:

-assumenosideeffects class android.util.Log {
  public static int v(...);
}

Это, помимо всех других оптимизаций ProGuard, удалит все подробные операторы журнала непосредственно из байт-кода.

Вы можете решить, какие выходы из системы вы хотите отключить, добавив

-assumenosideeffects class android.util.Log {
  public static int d(...);
  public static int i(...);
  public static int e(...);
}

в конфигурационный файл proguard. Мне нравится сохранять сообщения .e в моем коде, потому что они используются только в некоторых частях catch, которые хотят снизить производительность при нормальном выполнении приложения.

1 голос
/ 28 февраля 2011
...