android10 / frodo

Android Library for Logging RxJava Observables and Subscribers.
1.48k stars 101 forks source link

Frodo with proguard #34

Closed winstonvk closed 7 years ago

winstonvk commented 7 years ago

My app code contains frodo annotations. Can I run release version of my app without deleting frodo annotations? And also I don't want to get this exception in production:

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.annotation.Annotation java.lang.reflect.Method.getAnnotation(java.lang.Class)' on a null object reference

android10 commented 7 years ago

@winstonvk that is the idea behind frodo. It compiles and injects code on debug version of the app so you are safe to release your app and it does not need any proguard rule.

Regarding the annotation, can you elaborate more? (Context and steps to reproduce at least)

winstonvk commented 7 years ago

@android10 I've added this annotation — @RxLogObservabele to log my observable On debug mode everything works perfect! But on release build variant it crashs.

Also I added: 1) compile "com.fernandocejas.frodo:frodo-api:${frodoVersion}" in my module build.gradle file 2) apply plugin: 'com.fernandocejas.frodo' in the same place 3) classpath "com.fernandocejas.frodo:frodo-plugin:${frodoVersion}" in a project root build.gradle file

Frodo doesn't compile on release build variant, so annotation can't be found, I think

What do you think about it? I can remove all frodo annotations after debug code, but maybe you have more global solution?

android10 commented 7 years ago

On debug mode everything works perfect!

@winstonvk well, that is the purpose of the library. No code will be weaved in production/release. And that is not something that I'm planning to support, so I will close the ticket.

Thanks for the details.