Удаление журналов LibGDX на Android с помощью ProGuard

У меня есть файл proguard.cfg который содержит несколько утверждений, включая пропуски оптимизации и подавление журналов:

 -assumenosideeffects class android.util.Log { *; } -assumenosideeffects class com.badlogic.gdx.Application { public static void debug(...); public static void error(...); public static void log(...); } 

Вызовы в Log.* Корректно удаляются в конечном файле APK вывода. Но вызовы журнала gdx все еще находятся в коде. Например, я все еще вижу такие вещи на выходе:

 Gdx.app.debug("debug()", "^"); Gdx.app.error("error()", "^"); Gdx.app.log("log()", "^"); 

Я также попытался поместить эту часть моего proguard-optimize.txt файл proguard-optimize.txt как я видел по аналогичным вопросам, а затем установил правильное значение в файлах project.properties следующим образом: proguard.config=proguard-optimize.txt:proguard.txt но это не сработает !

Эти вызовы удаляются только в том случае, если я ставил общий шаблон:

 -assumenosideeffects class com.badlogic.gdx.Application { *; } 

Но я не хочу удалять вызовы на статические методы другого Application , такие как add* и get*() .

Этап оптимизации включен (6 проходов).

Gdx.app.debug не является static методом экземпляра ( app является статическим полем класса Gdx ).

Пытаться:

 -assumenosideeffects class com.badlogic.gdx.Application { public void debug(...); public void error(...); public void log(...); } 

Попробуйте что-то подобное в коде приложения:

 Gdx.app.setLogLevel(Application.LOG_NONE); 

Это предотвратит регистрацию сообщений.

Ура!