proguard warning: the configuration keeps the entry point....but not the descriptor class proguard warning: the configuration keeps the entry point....but not the descriptor class android android

proguard warning: the configuration keeps the entry point....but not the descriptor class


You have told Proguard to keep a certain method void foo(Bar bar); but to obfuscate the descriptor class Bar.

This is only a problem if you are going to invoke the method from an external source as the signature will be changed by the obfuscation (if you use Proguard to obfuscate a library and then use that library in another app).

So have the following choices:

  • Configure Proguard to also keep Bar.

  • Use the -dontnote directive to tell Proguard not to print notes like this.


Note: the configuration keeps the entry point '...', but not the descriptor class '...'Your configuration contains a -keep option to preserve the given method (or field), but no -keep option for the given class that is an argument type or return type in the method's descriptor. You may then want to keep the class too. Otherwise, ProGuard will obfuscate its name, thus changing the method's signature. The method might then become unfindable as an entry point, e.g. if it is part of a public API. You can automatically keep such descriptor classes with the -keep option modifier includedescriptorclasses (-keep,includedescriptorclasses ...). You can switch off these notes by specifying the -dontnote option.


Add this line in your 'proguard-rules.pro' file to fix this problem .

-ignorewarnings