НЕОБХОДИМОЕ УСТРОЙСТВО PROGUARD LESS: Удалите все ЛОГИ в RELEASE BUILD автоматически. ЛЮБАЯ БИБЛИОТЕКА ТРЕТЬЕЙ СТОРОНЫ?

У меня странная проблема в проекте, над которым я работаю.

Мои проблемы:

  • У меня много Log.e, Log.i, Log.d
  • Мне нужно удалить его в сборке релиза
  • Я не хочу удалять все журналы вручную, потому что это большая головная боль

Почему я задаю этот вопрос:

  • Можно ли удалить все журналы в версии выпуска apk без использования Proguard {Потому что использование proguard раздражает множеством правил и положений, и лично мне это не нравится;-) }

  • Для этого есть любая библиотека 3-ей СТОРОНЫ

  • Я пытался использовать TIMBER, но я думаю, что это не так легко достичь

Примечание: некоторые люди проголосовали за этот вопрос. У меня есть предложение, если я прошу что-то плохое или неправильное, лучше понизить голос. Я прошу альтернативные решения. Пожалуйста, не отговаривайте нас.

2 ответа

Если вы действительно настаиваете на том, чтобы не использовать Proguard, вы можете создать "обертку" вокруг встроенного Log фреймворк. Вместо вызова Android Log Скажите, вы бы тогда позвонили своей обертке. Например:

public class LogWrapper {
    public static void d(String tag, String message) {
        if (BuildConfig.DEBUG) {
            Log.d(tag, message);
        }
    }
}

Тем не менее, я настоятельно рекомендую использовать proguard, так как этот подход подвержен ошибкам и требует, чтобы вы не забывали вызывать LogWrapper каждый раз, когда вам нужно что-то зарегистрировать

Вы можете использовать правила Progruard для устранения вызовов для входа в версию выпуска, см. Этот ответ /questions/33133507/kak-udalit-vse-vyizovyi-zhurnala-otladki-pered-publikatsiej-prilozheniya-v-google-play/33133528#33133528

-assumenosideeffects class android.util.Log {
    public static *** d(...);
    public static *** v(...);
}
Другие вопросы по тегам