admin管理员组

文章数量:1558091

Android adb安装时强制应用App以32位或者64位运行

前言

如果只想看结论,请跳转到最后,如果想看看这其中的曲折历程那就按照正常的流程就好了。

不要问我为什么会写这么奇葩的博客问题,因为我这是被客户的应用给揉捏的啊。我们的终端是Android 64位的,然后客户提供了一个应用说怎么在我们的终端上运行不了!好吗,那就适配一下就好了吗,可是客户一口肯定的说适配了64位的so库,是我们提供的api接口有问题。尼玛,客户是上帝没有办法,只能拿出强硬的证据来说服对方了。

一. 问题定位

既然客户说适配了,我们也不反驳我们先强制应用以32位运行看看是否OK,如果以32位运行OK的话那么就是客户应用没有适配64的so库,而不是我们api的问题了。本来想着直接修改固件,然后以32位的方式安装的,但是无意间发现adb install已经支持以32位还是64位安装的了。好吗,Android的妈咪,谷歌为我们想得太周到了。

1.1 应用以32位在64位终端环境下运行

先上命令格式如下:

adb install --abi armeabi-v7a

将测试应用以如上命令安装成功以后,可以看到在64位终端上面是以32位运行,然后测试功能一切正常。

130|XXX:/ # getprop ro.product.cpu.abilist

arm64-v8a,armeabi-v7a,armeabi

XXX:/ # ps | grep zygote

root 816 1 2172512 83356 poll_sched 0000000000 S zygote64

root 827 1 1599320

本文标签: 版本appandroidADB