百度SDK碰到的坑之总是找不到类
代码是越来越旧,想要升级个新的 结果引发血案!!!!
## BUG
更新了就项目中的百度地图为最新版 ,刚开始觉得没什么,挺好用的还 ,,,, 然后测试也没测出什么大毛病,,
然而.....
上线后问题接踵而来,, 经过客户反映 android4.4.4闪退, , 哎呀我就草了,
搞了个模拟器模拟了一下 ,还真闪退,欲哭无泪!!找不到定位的类了
经过一番折磨是包冲突了, 没办法 还都想用 咋办
于是….
解决方案
在 build.gradle 里defaultConfig下加入
multiDexEnabled true
并在自己的application继承 MultiDexApplication
O了!
又现 BUG
编译后 一个包类又找不到了 又是百度SDK里的 EnvDrawText类 ,,
尼玛 检查了半天 觉得没问题 , 怎么会找不到呢?
迷茫了一下午 。 TMD是混淆错的 ,,
百度给的混淆TM太旧了。。
是
-keepclass com.baidu.**{*;}
-keepclass vi.com.**{*;}
-dontwarn com.baidu.**
可是查看了jar包后,,,
EnvDrawText 不在 vi.com. 包下
居然在
mapsdkvi.com.gdi.bgl.android.java 下面 冤不冤啊!! (这个针对于自定义下载的SDK 例子里还是在原包的) 于是更新混淆
解决方法
加一条混淆
-keep class mapsdkvi.com.gdi.bgl.android.java.**{*;}
完了 这就好了 ,,,迷之说明 百度太坑 不更新例子 新的又给改跑了 , 只能用旧的吗?墙都不服!