使用ProGuard删除Android中的LibGDX日志

使用ProGuard删除Android中的LibGDX日志,android,logging,ant,libgdx,proguard,Android,Logging,Ant,Libgdx,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 l

我有一个
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(...);
}
在最终输出APK文件中正确删除对
Log.*
的调用。但是gdx日志调用仍然在代码中。例如,我仍然可以在输出中看到类似的内容:

Gdx.app.debug("debug()", "^");
Gdx.app.error("error()", "^");
Gdx.app.log("log()", "^");
我还尝试将配置的这一部分放入一个
proguard optimize.txt
文件中,就像我在类似问题上看到的那样,然后在
project.properties
文件中设置适当的值,如下所示:
proguard.config=proguard optimize.txt:proguard.txt
,但它不起作用

只有在我放入通用通配符时,这些调用才会被删除:

-assumenosideeffects class com.badlogic.gdx.Application {
    *;
}
但是我不想删除对其他
应用程序的静态方法的调用,比如
add*
get*()
方法


已启用优化步骤(6次)。

请在应用程序代码中尝试以下操作:

Gdx.app.setLogLevel(Application.LOG_NONE);
这将阻止记录消息

干杯

它是一个实例方法(
app
Gdx
类的一个静态字段)

尝试:


我对proguard了解不多,但调用实际使用的是
com.badlogic.gdx.backends.android.android应用程序
实例,这可能是个问题吗?(
Application
是一个接口。)确实可能是这样,但我不明白为什么在使用通配符时会删除调用。无论如何我都会尝试。日志消息不会出现在控制台的输出中,但日志语句仍会出现在源代码中。你没有回答这个问题。无论如何,谢谢你。你说得对。我可能应该少写代码,多睡觉。谢谢
-assumenosideeffects class com.badlogic.gdx.Application {
    public void debug(...);
    public void error(...);
    public void log(...);
}