具有 OpenCSV 依赖项的 Android 上的 ProGuard 构建失败

4yb*_*aka 1 java android proguard opencsv android-proguard

我依赖 OpenCSV 3.8 并且发布构建失败并出现 ProGuard 错误:

警告:org.apache.commons.beanutils.MappedPropertyDescriptor:在程序类 org.apache.commons.beanutils.MappedPropertyDescriptor 中找不到引用的方法“void setName(java.lang.String)”

我可以尝试忽略它,但这听起来不是很好的解决方案。

有趣的是,OpenCSV 3.8 依赖于 commons-beanutils 1.9.3,而本地安装的是 1.9.2。

Dha*_*dra 5

我在 openCSV:3.9 上遇到了类似的问题,它在调试构建中显示了一些警告,并且在使用 proguard 构建时抛出了错误。

为了解决这个问题,我做了以下更改,现在我可以构建 apk

在模块级 build.gradle 添加以下行

configurations {
     all*.exclude group: 'commons-logging', module: 'commons-logging'
}
Run Code Online (Sandbox Code Playgroud)

在 proguard 文件中

-dontwarn com.opencsv.**
-dontwarn org.apache.commons.beanutils.**
-dontwarn org.apache.commons.collections.**
-keepattributes *Annotation*,Signature,InnerClasses,EnclosingMethod
-dontoptimize
Run Code Online (Sandbox Code Playgroud)

希望这对您和其他面临类似问题的人有所帮助。