我在我的Android应用程序中使用ProGuard和Joda Time (当然,我使用的是针对Android优化的版本:https://github.com/dlew/joda-time-android)。我遇到了这样的问题:在启用优化和模糊处理的情况下,当我尝试使用PeriodFormat时会出现错误
java.util.MissingResourceException: can't find resource for bundle java.util.PropertyResourceBundle, key PeriodFormat.space我比较了使用和不使用proguard构建时APK的内容,发现非优化版本中的org/joda/time/format目录包含15个属性文件,而优化版本中只有9个。在这些文件中,我看到了PeriodFormat.space密钥,所以毫无疑问,这些文件的丢失导致了异常。
如何配置proguard,让这个目录的内容在没有任何优化的情况下传输到优化后的APK?
我已经为Joda Time使用了以下规则:
-dontwarn org.joda.convert.**
-dontwarn org.joda.time.**
-keep class org.joda.** { *; }
-keep interface org.joda.** { *; }
-keepdirectories org.joda.**但是,它们还不够,因为文件仍然会消失。
发布于 2018-10-23 20:57:02
java.util.MissingResourceException:找不到捆绑包java.util.PropertyResourceBundle、key PeriodFormat.space的资源
不能使用
-keep class org.joda.** { *; }
-keep interface org.joda.** { *; }Do
-keep class org.joda.time.** { *; }
-keep interface org.joda.time.** { *; }您的将是
-dontwarn org.joda.convert.**
-dontwarn org.joda.time.**
-keep class org.joda.time.** { *; }
-keep interface org.joda.time.** { *; }阅读。
https://stackoverflow.com/questions/52949081
复制相似问题