MAN-3347: Добавлены правила

This commit is contained in:
Strekalov Sergey
2026-05-23 19:42:48 +03:00
parent d81924917b
commit 8160038777
2 changed files with 41 additions and 0 deletions
+1
View File
@@ -12,3 +12,4 @@
-include rules/kotlinx_serialization.pro
-include rules/workmanager.pro
-include rules/navigation.pro
-include rules/logs.pro
+40
View File
@@ -0,0 +1,40 @@
# Стрипаем debug-логи в release/customer-сборках через R8.
#
# -assumenosideeffects говорит R8, что вызов метода можно удалить, если его
# возвращаемое значение не используется. Для Log.v/d/i и Timber.v/d/i это
# безопасно: они возвращают Int (всегда 0) и обычно вызываются ради побочного
# эффекта печати в logcat.
#
# Log.w / Log.e и Timber.w / Timber.e СОХРАНЯЕМ нужны для диагностики
# проблем в проде (видно в `adb logcat`, идёт в Crashlytics через breadcrumbs).
#
# Дублирует и подстраховывает гард `if (BuildConfig.ENABLE_LOGS)` вокруг
# `Timber.plant(...)` в App.kt: даже если разработчик случайно вызовет
# `android.util.Log.d(...)` напрямую (минуя Timber) в release этот код
# не попадёт в APK.
-assumenosideeffects class android.util.Log {
public static *** v(...);
public static *** d(...);
public static *** i(...);
}
# Timber 5.x: статический API делегирует в companion object `Forest`,
# плюс есть базовый класс `Tree`. Покрываем все три точки входа.
-assumenosideeffects class timber.log.Timber {
public static *** v(...);
public static *** d(...);
public static *** i(...);
}
-assumenosideeffects class timber.log.Timber$Forest {
public *** v(...);
public *** d(...);
public *** i(...);
}
-assumenosideeffects class timber.log.Timber$Tree {
public *** v(...);
public *** d(...);
public *** i(...);
}