踩坑一
根据高德官方的开发文档,在项目中添加sdk、so包、编写代码。运行之后,满怀期待的地图没有出现,出现的是闪退,看日志是找不到某个类。以为是sdk的加载姿势不对,就删除了,重新添加,仍然崩溃,日志显示还是找不到某个类(这个类是不固定的,崩一次换一次,没有规律)。
去掉sdk,运行,正常。 加上sdk,崩溃。然后就这样来来回回试了几次,都是这样。我也崩溃了!!!!
然后就疯狂的各种百度、谷歌,尝试找到的各种方法。最后,终于被我找到了。原来是dex文件拆分造成的(因为进度,以解决问题为主,就没有具体的了解,想详细了解的同学可以自己找资料学习)。
解决方法方法是:Application类继承MultiDexApplication。
参考博客:
踩坑二:java.lang.UnsatisfiedLinkError
在真机上运行时,报这个异常,一看日志发现是so库找不到,本想着把缺少的包加上就可以了。但在项目的libs中发现有这个包之后,就不淡定了。
日志显示:
Caused by: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.xyw.health-2/base.apk"],nativeLibraryDirectories=[/data/app/com.xyw.health-2/lib/arm64, /system/lib64, /vendor/lib64]]] couldn't find "libGNaviUtils.so"
想着是不是打包apk的时候没有把so库编译进去。最后解决办法:
在build.gradle中,添加:
sourceSets.main{
jniLibs.srcDirs=['libs'];
}
踩坑三 导航页面白屏
这个是高德官方提供的解决方法,是:
http://lbs.amap.com/faq/android/android-navi/amapnavi-view-blank