问题:不上应用市场的apk,在用户联想moto s50上安装失败
原因分析:
他的提示是不支持32位,所以需要打一个64位包。
前提是 你里面要有64位对应的lib文件,不然到时用到的时候,会闪退。
abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
解决:
其他分析:
安卓14怎么样才能安装32位应用?
如题,有些应用还处于32位,不兼容,安装不了(骁龙8 gen3/骁龙8S gen3)。有什么方法可以解决?xml修改?adb安装?尝试过虚拟机的安卓9.0安装还是安装不了,还有些虚拟机卡进度99%或者100%
1。骁龙8Gen2就已经砍掉了一部分对32位的兼容性,只保留了A710小核兼容32位;而到了8Gen3就完全抛弃了32位的兼容。同样,联发科处理器也从天玑9000开始逐步砍掉了32位的兼容。在这些处理器上,要么运行32位应用性能锐减(可能采取转译的方式运行),要么就干脆不支持32位应用,尤其是后者这种情况,确实可以导致32位应用不可安装。所以对于这种硬件限制,目前是无解的,唯一的办法就是让开发商主动适配64位。
2.除了上述硬件之外的其他硬件是可以正常兼容32位的,本人同样用的安卓14系统,天玑8100处理器平台仍然能正常安装32位应用,少数32位应用会因为兼容性问题而崩溃,但是大多数应用都是可以运行的。崩溃的应用大多数是年久失更的老应用,解决办法就是能回退上一个安卓版本就回退到那个版本。
如题,有些应用还处于32位,不兼容,安装不了(骁龙8 gen3/骁龙8S gen3)。有什么方法可以解决?xml修改?adb安装?尝试过虚拟机的安卓9.0安装还是安装不了,还有些虚拟机卡进度99%或者100%。
其他:
arm64-v8a 和 armeabi-v7a、armeabi 有什么区别
有时下载软件包有好几种选择,包括 arm64-v8a、armeabi-v7a、armeabi、x86_64 等。如果不清楚它们的含义,随便选择下载可能导致软件不能安装。以下是相关知识介绍。
从这些命名大概可以猜出它与 32 位或 64 位软件有关,部分确实可以这样理解,更准确的说法是:arm64-v8a 和 armeabi-v7a 这些信息表示手机处理器和其支持指令集的对应 ABI (应用二进制接口)。
简单来说就是使用不同 ABI 的软件包,它们支持在不同手机处理器上运行,请见下面表格介绍。
ABI 名称 | 对应 CPU |
---|---|
arm64-v8a | 表示第 8 代 64 位 ARM 处理器 |
armeabi-v7a | 表示第 7 代及以上 32 位 ARM 处理器 |
armeabi | 表示第 5 代和第 6 代 32 位 ARM 处理器 |
x86-64 | 表示 Intel 64 位处理器(主要平板和虚拟机使用) |
x86 | 表示 Intel 32 位处理器(主要平板和虚拟机使用) |
提示:64 位处理器可以兼容运行针对 32 位处理器编译的软件,反之则不行 |
那么如何确认自己手机支持哪些 ABI 呢?
简单方法可以安装安兔兔评测软件查看,在我的设备 -> CPU 栏目下查看。
图中显示手机支持的 ABI(由于 64 位处理器能兼容运行 32 位软件,所以这里显示多个 ABI)
如果不想安装软件,还可以使用下面 ADB 命令查询(以 USB 调试模式连接电脑,并配置好 ADB 命令环境变量)。