Closed ye125440 closed 7 years ago
We don't use proguard, therefore I didn't need this config so far. But next week I'll try with proguard and can provide this information
I met this error,when i use proguard...
Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Class java.lang.reflect.Method.getDeclaringClass()' on a null object reference
at com.orhanobut.tracklytics.TrackerAspect.addClassAttributes(TrackerAspect.java:156)
at com.orhanobut.tracklytics.TrackerAspect.ajc$inlineAccessMethod$com_orhanobut_tracklytics_TrackerAspect$com_orhanobut_tracklytics_TrackerAspect$setup(TrackerAspect.java:1)
at com.orhanobut.tracklytics.TrackerAspect.weaveJoinPointTrackEvent(TrackerAspect.java:133)
at com.wallstreetcn.meepo.ui.subject.view.TopBuyGroupView.ItemClick(TopBuyGroupView.java:52)
at com.wallstreetcn.meepo.ui.subject.view.TopGroupView$1.onClick(TopGroupView.java:80)
at android.view.View.performClick(View.java:4792)
at android.view.View$PerformClick.run(View.java:19915)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5298)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:910)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:705)
I added -keepattributes *Annotation*
in the proguard-rules.pro
file, and set minifyEnabled true
in the build.gradle
file. Then I build the project and installed the apk, when I open the app, it was forced to close for java.lang.NullPointerException
, excatly same as crosswall's.
It looks like I've keep all class and interface files belong to your library:
-keepattributes *Annotation*
-keep class com.orhanobut.tracklytics.** {*;}
-keep interface com.orhanobut.tracklytics.* {*;}
-dontwarn com.orhanobut.tracklytics.*
But it still not working.
Try this:
-keepclasseswithmembers class * {
@com.orhanobut.tracklytics.TrackEvent
This issue will be followed up with Consumer proguard issue. #40
if I use the proguard, which part of code of tracklytics should I keep?
this configuration doesn't work on my project.