17

I'm using ProGuard with my Android application and I'm running getting the warnings below in my build log. I've added the appropriate '-keep public class com.foo.OtherClass { public static *; }' statement to my proguard.cfg file, but I still get the warnings. My app runs fine and is dynamically accessing the class correctly. Is it possible to suppress these warnings?

[proguard] Note: com.foo.MyClass accesses a method 'getInstance()' dynamically
[proguard]       Maybe this is program method 'com.foo.OtherClass { com.foo.OtherClass getInstance(); }'
ThomasW
  • 16,483
  • 4
  • 76
  • 103

2 Answers2

22

You can avoid it by explicitly mentioning the method in the configuration:

-keep class com.foo.OtherClass { com.foo.OtherClass getInstance(); }

Alternatively, you can suppress notes on a class:

-dontnote com.foo.MyClass
Eric Lafortune
  • 44,134
  • 7
  • 110
  • 103
6

You suppress all messages of type Note by adding the following line:

-dontnote **
Kirill Rakhman
  • 39,370
  • 18
  • 117
  • 143