Recently I upgrade Dagger 2.13 to 2.19, I have the below compile error at Proguard stage of this warning.
Warning: com.mypackage.MyClass_Factory: can't find referenced method 'java.lang.Object injectMembers(dagger.MembersInjector,java.lang.Object)' in program class dagger.internal.MembersInjectors
This also happens from Dagger 2.14.1 onwards. This happens only to MyClass which is in a library I include.
If I use
-dontwarn com.mypackage.MyClass_Factory
Then it will crash on runtime
java.lang.NoSuchMethodError: No static method injectMembers(Ldagger/MembersInjector;Ljava/lang/Object;)Ljava/lang/Object; in class Ldagger/internal/MembersInjectors; or its super classes (declaration of 'dagger.internal.MembersInjectors' appears in MyClass
Which means the warning from Proguard is a legit warning I should take care.
I search and found the issue is reported in https://github.com/google/dagger/pull/950#issuecomment-353223029
The solution by @ronshapiro is
You should shade the dagger.internal from one (or both) of the libraries. The old one is probably easiest
What does shade the dagger.internal means? How to solve my problem?