Proguard causes `NoSuchMethodException`
landakram opened this issue · comments
Hey! Just want to say first that I really appreciate your work.
I'm using this library in an application and found a bug when using proguard. Without any changes to the proguard.project.txt
file, I get this error when trying to use the animations:
W/System.err(22899): java.lang.NoSuchMethodException: <init> [float]
W/System.err(22899): at java.lang.Class.getConstructorOrMethod(Class.java:472)
W/System.err(22899): at java.lang.Class.getConstructor(Class.java:446)
W/System.err(22899): at com.daimajia.easing.Skill.a(SourceFile:104)
W/System.err(22899): at com.daimajia.easing.Glider.a(SourceFile:33)
I worked around this by adding to my proguard-project.txt
file:
-keep class com.daimajia.easing.** { *; }
-keep interface com.daimajia.easing.** { *; }
It might be helpful to add this to documentation (like the README).
Yeah, I'll do this today.
Thanks for your feedback. (SORRY FOR MY LATE REPLY). :-D
Thanks @daimajia!
I've encountered exactly the same issue today.
The following rule helped me:
-keepclassmembers public class * extends com.daimajia.easing.BaseEasingMethod {
public <init>(...);
}
The source of the problem is that constructors are called indirectly. This rule prevents proguard from removing constructors instead of forcing it to keep everything.
Thank you so much @ultimate-deej! You saved my day!
Thanks, @ultimate-deej !