我在我的 android 应用程序中使用 ESRI 地图。我想缩小、混淆和优化我的应用程序,为此我在gradle.properties
文件中的应用程序中启用了 R8,方法是添加以下行:
android.enableR8 = true
除此之外,我通过在应用程序级 build.gradle 中添加以下行来启用这些
debug {
minifyEnabled true
shrinkResources true
zipAlignEnabled true
}
release {
minifyEnabled true
shrinkResources true
zipAlignEnabled true
}
我试图在 progaurd-rules.pro 文件中添加以下内容以在运行时保留这些内容。参考:https ://stackoverflow.com/a/34807601/2462531
-keep class com.esri.** { *; }
-keep interface com.esri.** { *; }
-keep class org.codehaus.jackson.** { *; }
-dontwarn org.codehaus.jackson.map.ext.**
-dontwarn jcifs.http.**
但是当我运行应用程序时仍然面临同样的问题,并出现以下错误消息:
应用程序中的 JNI 检测到错误:调用 JNI FindClass 时出现未决异常 java.lang.ClassNotFoundException:在路径上找不到类“com.esri.arcgisruntime.ArcGISRuntimeEnvironment”:DexPathList
需要任何与 ESRI progaurd 规则的链接或建议将不胜感激。