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.**
崩溃消失了。
我按照百度地图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.**
崩溃消失了。