android-studiokotlinandroid-gradle-pluginproguardandroid-r8

Enabling R8 in android kotlin app cause Library class android.content.res.XmlResourceParser implements program class org.xmlpull.v1.XmlPullParser


I enabled R8 plugging for obfuscation

I got an exception when I am trying to generate the signed apk

"Library class android.content.res.XmlResourceParser implements program class org.xmlpull.v1.XmlPullParser"

I have added below proGuard rule to the proguard-rules.pro file

-dontwarn org.xmlpull.v1.**
-dontnote org.xmlpull.v1.**
-keep class org.xmlpull.** { *; }
-keepclassmembers class org.xmlpull.** { *; }

and My release build specification

buildTypes {
        release {
            useProguard false
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.release
        }
    }

Help to fix this issue


Solution

  • Add these lines in proguard-rules file:

    -dontwarn org.xmlpull.v1.**
    -dontwarn org.kxml2.io.**
    -dontwarn android.content.res.**
    -dontwarn org.slf4j.impl.StaticLoggerBinder
    
    -keep class org.xmlpull.** { *; }
    -keepclassmembers class org.xmlpull.** { *; }
    

    Am 100% sure these lines will resolve your issue.