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,981
  • 4
  • 79
  • 106

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
  • 45,150
  • 8
  • 114
  • 106
6

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

-dontnote **
Kirill Rakhman
  • 42,195
  • 18
  • 124
  • 148