Baidu maps release build crash : NoSuchMethodError: no static method "Lvi/com/gdi/bgl/android/java/EnvDrawText; following sample baidu map app

Baidu maps release build crash : NoSuchMethodError: no static method "Lvi/com/gdi/bgl/android/java/EnvDrawText; following sample baidu map app

我按照百度地图sdk示例中心的示例代码集成了百度地图。

一切正常,但在发布版本中百度地图每次都崩溃。

错误是这样的。

NoSuchMethodError: no static method "Lvi/com/gdi/bgl/android/java/EnvDrawText;

我想知道是什么原因。

问题是缺少混淆器配置。当将 minifyEnabled 设置为 false 时,它​​工作正常。所以在baidu maps proguard规则中添加了这行-keep class vi.com.gdi.bgl.android.** {*; }。最终规则集变为 ...

# Baidu Map rules
-keep class com.baidu.** {*;}
-keep class mapsdkvi.com.** {*;}
-keep class vi.com.gdi.bgl.android.** {*; }
-dontwarn com.baidu.**

崩溃消失了。