在android kotlin应用程序中启用R8导致库类android.content.res. xmlresource



我启用了R8插入以防止混淆

我得到一个异常,当我试图生成签名apk

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

我在proGuard规则中添加了下面的proGuard规则。箴文件

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

和我的发布构建规范

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

帮助修复此问题

在proguard-rules文件中添加这些行:

-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.** { *; }

我100%肯定这些行会解决你的问题。

gradle.properties

android.enableR8.fullMode=false

令人惊讶的是,我也有同样的问题,并将问题海报提到的这些行添加到我的proguard规则中。专业解决:

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

相关内容

最新更新