Intereting Posts
Android-программа для увеличения и уменьшения изображения с помощью кнопки поиска? Регулярное выражение, подтверждающее номер карты PAN API-интерфейс Retrofit получает сообщение «HTTP FAILED: java.io.IOException: Canceled» Не удалось найти com.android.support :support-v4:22.0.0. После обновления SDK Насколько совместима реализация Java на Android? Как установить ширину и высоту DialogFragment? Android: прямо запускайте деятельность / фрагмент, который находится в разработке Настройка по умолчанию Theme.AppCompat.Dialog.Alert с android.support.v7.app.AlertDialog Android: как получить ссылку от Atom Android: автоматически показывать мягкую клавиатуру, когда фокус находится на EditText Определить, было ли приложение загружено с Android Маркета Изменение размера предварительного просмотра камеры Преобразование doc-файла в html с помощью Apache Poi Обновление активности из службы при активном Как предотвратить эффекты изменения размера шрифта системы в приложении Android?

Удаление журналов 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); 

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

Ура!