我必须将log4j1.2.17移至log4j2.8.2。我为实现log4j2在android build.gradle中做了以下更改。
implementation 'org.apache.logging.log4j:log4j-core:2.8.2'
implementation 'org.apache.logging.log4j:log4j-slf4j-impl:2.8.2'
implementation 'org.apache.logging.log4j:log4j-1.2-api:2.8.2'
也正如某些stackoverflow中所述,我对proguard进行了如下更改:
#log4j2
-dontwarn org.apache.logging.log4j.**
-keepattributes Signature
-keep class org.apache.logging.log4j.** { *; }
使用maven构建项目后,下面是堆栈跟踪:
[[INFO]未捕获的翻译错误: com.android.dx.cf.code.SimException:发生错误 org.apache.logging.log4j.core.config.plugins.convert.DateTypeConverter.fromMillis:(JLjava / lang / Class;)Ljava / util / Date; :: 调用签名多态需要--min-sdk-version> = 26 (当前为13)[INFO]未捕获的翻译错误: com.android.dx.cf.code.SimException:发生错误 org.apache.logging.log4j.core.impl.ContextDataFactory.createContextData :()Lorg / apache / logging / log4j / util / StringMap ;: 调用签名多态需要--min-sdk-version> = 26 (当前为13)
我从stackoverflow尝试了很多解决方案,无法找到相同的确切解决方案。以下是链接:
SimException on proguard build, Android Studio?
请提出任何可以帮助我解决上述问题的解决方案。谢谢!