Dexter – is an Android library that simplifies the process of requesting permissions at runtime.
Android Marshmallow includes a new functionality to let users grant or deny permissions when running an app instead of granting them all when installing it. This approach gives the user more control over applications but requires developers to add lots of code to support it.
ProGuard rules for Dexter
ProGuard optimizes the bytecode and will try remove all unused classes. After ProGuard shrinks your code, reading a code is difficult because the class names are obfuscated. To fix errors and force ProGuard to keep certain code, set up a ProGuard configuration in proguard-rules.pro file.
# Dexter -keepattributes InnerClasses, Signature, *Annotation* -keep class com.karumi.dexter.** { *; } -keep interface com.karumi.dexter.** { *; } -keepclasseswithmembernames class com.karumi.dexter.** { *; } -keepclasseswithmembernames interface com.karumi.dexter.** { *; }
For more information about Dexter please see the website.