Proguard Exumeosideeffects удаляет методы, но сохраняет значения параметров - PullRequest
0 голосов
/ 10 марта 2020

У меня есть пользовательская оболочка журнала, называемая NpLog, и я хотел бы удалить ее из сборки выпуска, параметр журнала остается там. Мой конфиг proguard выглядит так:

-assumenosideeffects class my.package.name.NpLog {
    public static void d(...);
    public static void v(...);
}

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

Мой исходный код выглядит так:

Log.v("xxxx", "logv")
Log.d("xxxx", "logd")
Log.i("xxxx", "logi")
Log.w("xxxx", "logw")
NpLog.d("xxxx", "nplogd")
NpLog.i("xxxx", "nplogi")

И декомпилированный результат выглядит так:

String str = "xxxx";
Log.w(str, "logw3");
Object[] objArr = {str, "nplogd"};
C10760d.m33737a(str, "nplogi");

Как вы можете видеть, параметры обычного android логгера исчезли, но тот, что для кастомного логгера, все еще там. Поэтому мой вопрос заключается в том, какую дальнейшую конфигурацию я должен сделать, чтобы удалить значение «nplogd» из кода, потому что это будет точкой всей этой конфигурации.

...