arm32位应用兼容arm64位记录

news/2024/12/22 11:27:25/

目录

背景

兼容64位步骤

1.配置ndk支持arm64

2.进行build构建

3.构建完之后,进行apk包的分析

 4.比较lib/armeabi-v7a和lib/arm64-v8a两个文件夹下的so库文件

5.确定缺少的so库文件属于哪些三方依赖

6.确定完所属依赖后,要么升级依赖、要么直接引入对应的64位so文件

7.进行测试验证

补充


背景

金标联盟64位适配时间节点重要通知(三)金标联盟 | ITGSA | 移动智能终端生态联盟是国内领先的行业非盈利性组织,由领先的智能终端厂商联合发起和建立,旨在推动全行业应用生态标准化、规范化、合规化、高效化,提升全行业应用服务水平和能力,促进行业共赢、共发展。https://www.itgsa.com/home/news/info?newsId=5256238539162624

 

主要就是Arm架构新机不再支持32位应用的安装与使用,所以必须对旧应用进行兼容64位处理

兼容64位步骤

谷歌官方参考文档:https://developer.android.com/distribute/best-practices/develop/64-bit?hl=zh-cn#guidelines-ndk

1.配置ndk支持arm64

armeabi-v7a要保留,后续有用,而且你兼容了新机,旧机也得兼容啊,有些旧机只支持32位(说的就是银联的pda设备,优博讯I9000S)

ndk { abiFilters "armeabi-v7a", "arm64-v8a" }

2.进行build构建

3.构建完之后,进行apk包的分析

【build - Analyze APK...】选择项目目录下 ~/app/build/outputs/apk/debug/app-debug.apk

等待分析完毕

 4.比较lib/armeabi-v7a和lib/arm64-v8a两个文件夹下的so库文件

看看lib/arm64-v8a中缺少哪些so库文件

5.确定缺少的so库文件属于哪些三方依赖

参考:【Android开发】如何快速知道某个so来源于哪个库_android查看so来源_又吹风_Bassy的博客-CSDN博客有时候需要查找某些 so文件是来源于哪个库的,方便删除。以下是一个小技巧:在 app模块的 build.gradle中,追加以下代码://列出所有包含有so文件的库信息tasks.whenTaskAdded { task -> if (task.name=='mergeBiDebugNativeLibs') { //如果是有多个flavor,则用 mergeFlavorDebugNativeLibs的形式 task.doFirst { ...https://blog.csdn.net/eieihihi/article/details/109289312

此外,有些手动引入的so文件,通过上面文章的方法找不到所属依赖,则你需要通过git中文件引入的历史记录,确定是在实现什么功能时引入的,然后基本就知道是哪个依赖的了

6.确定完所属依赖后,要么升级依赖、要么直接引入对应的64位so文件

升级依赖:比如我遇到的Fresco依赖,我直接由1.10.0升级到1.13.0,为什么不升级更高的,因为更高的版本是androidx的,我的旧项目很遗憾,还是support的,暂时没计划迁移

7.进行测试验证

补充

如果你的应用运行在双屏收银机(比如商米x2)上,设备是64位的,需要用到银联mis键盘(32位)收款,那你需要确定调用mis键盘的sdk是否支持64位,不然应用不要兼容64位


http://www.ppmy.cn/news/293921.html

相关文章

无线信道仿真 matlab,基于Matlab的无线信道仿真.doc

word格式精心整理版 范文范例 学习指导 基于Matlab的无线信道仿真 近几年,随着无线通信业务和新兴宽带移动互联网接入业务的快速增长,对无线通信系统的优化显得尤为重要。与有线信道静态和可预测的典型特点相反,在实际中,由于无线信道动态变化且不可预测,无线通信系统的性…

基于MATLAB的无线信道性能仿真

1.1 课题研究背景 无线电波的传播环境非常复杂,再加上无线电波自身的多样性,使得电波会通过多种方式和途径从发射天线传播到接收天线。无线视距是指与无线视线相关的路径的长度,它不仅是建立无线传播模型的基础,也被用来区分不同的传播模式。通常情况下,可以按照距离尺度…

声呐(岩石/水雷)数据集的特征提取过程

笔者在机器学习、神经网络、SVM、二分类等相关的文章中经常看见利用声呐(岩石/水雷)数据集。都是拿它来跑程序看看算法性能,但没探究过这里面的特征究竟代表什么,甚至有人说60个特征代表不同方向返回的声音强度(如果直…

bellhop 水声信道 matlab,基于BELLHOP的水声信道时变模型.doc

基于BELLHOP的水声信道时变模型.doc 基于BELLHOP的水声信道时变模型 【摘要】随着海洋开发和信息产业的发展,对水声信道的研究日益重要。传统的射线声学模型不能很好地反映水下环境的复杂多变性。本文提出的BELLHOP--多普勒时变模型充分考虑了水体环境和信道几何结构等物理因素…

水下无线光通信综述

最近在做水下可见光通信这块,本文是阅读论文“A Survey of Underwater Wireless Optical Communication”之后的简单总结,感兴趣的朋友可以找更多的相关文章进行研读。 0. 摘要 水下无线通信是指在水环境中通过无线载波传输数据,载波可以是…

移动通信原理中信道的分类

移动通信原理中信道的分类: Wide-sense stationary(WSS) channels 广义平稳信道 (1) 信道在短时间内的衰落统计量是常数 (2)自相关函数取决于时间变量t和s,且只与时间间隔Δts-t有关 (3)The attenuations and phase shifts associ…

信道的定义及分类

1信道的分类 1.1狭义信道的分类 1.1.1有线信道1.1.2无线信道1.1.3存储信道1.2广义信道的分类2信道的数学模型 2.1调制信道模型2.2编码信道模型 1.信道的分类 1.1狭义信道的分类 狭义信道,按照传输媒质来划分,可以分为有线信道、无线信道和存储信道三类…

水声多径信道下LMS仿真(Python代码)

1. 模块的导入 做仿真,numpy应该都知道 arlpy是水声通信工具箱,不仅可以产生信道的冲激响应,还有一些通信相关的函数 bokeh是用来画图的,配合jupyter notebook使用很爽!!(Matplotlib是常用的绘…