如何抑制来自 ProGuard 的“也许这是程序方法”警告
Posted
技术标签:
【中文标题】如何抑制来自 ProGuard 的“也许这是程序方法”警告【英文标题】:How to suppress 'Maybe this is program method' warnings from ProGuard 【发布时间】:2011-08-29 11:03:28 【问题描述】:我在我的 android 应用程序中使用 ProGuard,并且在构建日志中运行时收到以下警告。我添加了适当的'-keep public class com.foo.OtherClass public static *; ' 声明到我的 proguard.cfg 文件,但我仍然收到警告。我的应用程序运行良好,并且可以正确地动态访问该类。是否可以取消这些警告?
[proguard] Note: com.foo.MyClass accesses a method 'getInstance()' dynamically
[proguard] Maybe this is program method 'com.foo.OtherClass com.foo.OtherClass getInstance(); '
【问题讨论】:
【参考方案1】:您可以通过在配置中明确提及方法来避免它:
-keep class com.foo.OtherClass com.foo.OtherClass getInstance();
或者,您可以隐藏课堂上的注释:
-dontnote com.foo.MyClass
【讨论】:
【参考方案2】:您可以通过添加以下行来抑制所有 Note 类型的消息:
-dontnote **
【讨论】:
即使这对我没有帮助 别忘了**
。起初这让我很受挫。以上是关于如何抑制来自 ProGuard 的“也许这是程序方法”警告的主要内容,如果未能解决你的问题,请参考以下文章
调用 Set-ExecutionPolicy 时如何抑制来自脚本的警告消息
如何在(签名的)联网应用程序运行时抑制防火墙警告(来自 Xcode)
运行单元测试时如何抑制来自 node.js 应用程序的应用程序日志消息?