高德地图V3.3.2在非arm64-v8a,armeabi的CPU架构手机上运行奔溃的问题

2024-05-16 05:48

本文主要是介绍高德地图V3.3.2在非arm64-v8a,armeabi的CPU架构手机上运行奔溃的问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

aMap高德地图,AMap_3DMap_V3.3.2_20160525.jar,官方提供的so包只有两种:arm64-v8a,armeabi,也就是说除了arm64-v8a,armeabi两种cpu架构,其他CPU架构的手机显示高德地图都会奔溃:

java.lang.UnsatisfiedLinkError: com.android.tools.fd.runtime.IncrementalClassLoader$DelegateClassLoader[DexPathList[[dex file 
...
couldn't find "libgdinamapv4sdk752.so"
at java.lang.Runtime.loadLibrary(Runtime.java:367)
at java.lang.System.loadLibrary(System.java:1076)
at com.autonavi.amap.mapcore.MapCore.(MapCore.java:60)
at com.amap.api.mapcore.AMapDelegateImp.(AMapDelegateImp.java:291)
at com.amap.api.mapcore.j.(AMapGLSurfaceView.java:23)
at com.amap.api.mapcore.j.(AMapGLSurfaceView.java:17)
at com.amap.api.mapcore.as.a(MapFragmentDelegateImp.java:137)
at com.amap.api.maps.MapView.onCreate(MapView.java:121)

在我的magicbox(插件及而修复集一身的app)项目中,有一个方法
https://github.com/georgeyang1024/magicbox/blob/master/app/src/main/java/online/magicbox/app/PluginContext.java
在这段代码中:

//释放so文件String libPath = getFilesDir().getAbsolutePath() + "/lib/" + packageName + "_" + version;plugClassLoder = PlugClassLoder.plugClassLoderCache.get(dexPath);if (plugClassLoder==null) {ZipInputStream zipIn = null;int readedBytes = 0;byte buf[] = new byte[4096];new File(libPath).mkdirs();try {zipIn = new ZipInputStream(new BufferedInputStream(new FileInputStream(dexPath)));ZipEntry zipEntry = null;while ((zipEntry = zipIn.getNextEntry()) != null) {String name = zipEntry.getName();if (!TextUtils.isEmpty(name)) {if (name.startsWith("lib/" + Build.CPU_ABI + "/")) {String fileName = name.substring(name.lastIndexOf("/")+1,name.length());try {FileOutputStream fileOut = new FileOutputStream(new File(libPath,fileName));while ((readedBytes = zipIn.read(buf)) > 0) {fileOut.write(buf, 0, readedBytes);}fileOut.close();} catch (Exception e) {e.printStackTrace();}}}}zipIn.close();} catch (Exception e) {e.printStackTrace();} finally {try {zipIn.closeEntry();} catch (Exception e) {}}plugClassLoder = new PlugClassLoder(dexPath,context.getCacheDir().getAbsolutePath(),libPath,context.getClassLoader());}}

可见,apk文件中,只需要提取Build.CPU_ABI对应的so文件,所以非手机的so文件都是无法使用的,如果你的项目使用这个版本的高德地图,有几个对策:

博客出处
1. 等待官方提供其他cpu架构的so文件
2. 改为其他地图sdk(百度地图支持度比较好)
3. 判断兼容性,所其他操作:

            if (Build.CPU_ABI.equals("armeabi") || Build.CPU_ABI.equals("arm64-v8a")) {//支持高德地图} else {//不支持高德地图}

这篇关于高德地图V3.3.2在非arm64-v8a,armeabi的CPU架构手机上运行奔溃的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/994045

相关文章

Spring Boot中JSON数值溢出问题从报错到优雅解决办法

《SpringBoot中JSON数值溢出问题从报错到优雅解决办法》:本文主要介绍SpringBoot中JSON数值溢出问题从报错到优雅的解决办法,通过修改字段类型为Long、添加全局异常处理和... 目录一、问题背景:为什么我的接口突然报错了?二、为什么会发生这个错误?1. Java 数据类型的“容量”限制

关于MongoDB图片URL存储异常问题以及解决

《关于MongoDB图片URL存储异常问题以及解决》:本文主要介绍关于MongoDB图片URL存储异常问题以及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录MongoDB图片URL存储异常问题项目场景问题描述原因分析解决方案预防措施js总结MongoDB图

SpringBoot项目中报错The field screenShot exceeds its maximum permitted size of 1048576 bytes.的问题及解决

《SpringBoot项目中报错ThefieldscreenShotexceedsitsmaximumpermittedsizeof1048576bytes.的问题及解决》这篇文章... 目录项目场景问题描述原因分析解决方案总结项目场景javascript提示:项目相关背景:项目场景:基于Spring

解决Maven项目idea找不到本地仓库jar包问题以及使用mvn install:install-file

《解决Maven项目idea找不到本地仓库jar包问题以及使用mvninstall:install-file》:本文主要介绍解决Maven项目idea找不到本地仓库jar包问题以及使用mvnin... 目录Maven项目idea找不到本地仓库jar包以及使用mvn install:install-file基

Python如何精准判断某个进程是否在运行

《Python如何精准判断某个进程是否在运行》这篇文章主要为大家详细介绍了Python如何精准判断某个进程是否在运行,本文为大家整理了3种方法并进行了对比,有需要的小伙伴可以跟随小编一起学习一下... 目录一、为什么需要判断进程是否存在二、方法1:用psutil库(推荐)三、方法2:用os.system调用

usb接口驱动异常问题常用解决方案

《usb接口驱动异常问题常用解决方案》当遇到USB接口驱动异常时,可以通过多种方法来解决,其中主要就包括重装USB控制器、禁用USB选择性暂停设置、更新或安装新的主板驱动等... usb接口驱动异常怎么办,USB接口驱动异常是常见问题,通常由驱动损坏、系统更新冲突、硬件故障或电源管理设置导致。以下是常用解决

Mysql如何解决死锁问题

《Mysql如何解决死锁问题》:本文主要介绍Mysql如何解决死锁问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录【一】mysql中锁分类和加锁情况【1】按锁的粒度分类全局锁表级锁行级锁【2】按锁的模式分类【二】加锁方式的影响因素【三】Mysql的死锁情况【1

Android实现两台手机屏幕共享和远程控制功能

《Android实现两台手机屏幕共享和远程控制功能》在远程协助、在线教学、技术支持等多种场景下,实时获得另一部移动设备的屏幕画面,并对其进行操作,具有极高的应用价值,本项目旨在实现两台Android手... 目录一、项目概述二、相关知识2.1 MediaProjection API2.2 Socket 网络

SpringBoot内嵌Tomcat临时目录问题及解决

《SpringBoot内嵌Tomcat临时目录问题及解决》:本文主要介绍SpringBoot内嵌Tomcat临时目录问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录SprinjavascriptgBoot内嵌Tomcat临时目录问题1.背景2.方案3.代码中配置t

SpringBoot使用GZIP压缩反回数据问题

《SpringBoot使用GZIP压缩反回数据问题》:本文主要介绍SpringBoot使用GZIP压缩反回数据问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot使用GZIP压缩反回数据1、初识gzip2、gzip是什么,可以干什么?3、Spr