从一个被应用商店坑了的 BUG 说起

今天在做 APP 的自动化测试的时候,心血来潮将 Case 的开发机器切换成了红米 9A 这款机器。然后就开始了我一个找 BUG 原因的一天。
BUG 描述
最近产品上了一个新版本,最为自动化测试的负责人,要开始针对这个新版的特性进行相关测试用例的开发,由于另外的一台设备正则忙碌的运行着回归测试的自动化,于是我拿出了这台红米手机。连上数据线,打开 CMD,输入了以下命令,查看是否正常链接。

一切就绪,打开 IDEA,开始编写自动化测试的用例代码,很快,就完成了一个用例的编写。来,我们运行一下看看。

哎呀,怎么出错了呢,刚刚还是正常的啊,没有修改环境,只是换了一个手机而已啊,咋就不行了呢。
手动通过 adb 命令安装一下看看。

安装不上,换一个版本试试

咦?旧版本可以的,那就不是手机坏了。去查查这个错误编号是啥意思
INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113
原因是某些应用使用了原生库(NDK,Native Lib),这些库的编译目标通常是 arm 架构的 cpu,在 x86 上运行就会报这样的错误。
盲猜是开发在编译代码的时候修改了编译配置,但是这个文件一般也不会无缘无故的修改啊,这不是给自己找事干吗?
问题定位
就当我把 BUG 票都写好了的瞬间看到了一个这样通知。

于是上网上搜索了一下,不单单是华为其他厂商的应用商店都有类似的规定了。好巧不巧,开发在这个版本修改了这段的配置,改成了纯 64 位编译
就是说从之前的
改成了
那我的手机的配置是什么样的呢?通过 ADB 查看一下

这不就找到原因了吗!
然后查了一下,这个手机的 CPU 相关的内容,平时查技术文章不怎么上某度,但是这样的文章某度还是很多的。

总而言之,即使我这台手机以后就告别自动化开发的舞台了,也许还可以用来测试一下小程序啥的吧,也不行!微信不也得升级吗!
如果今天的这篇文章对你有所帮助,欢迎转发给你的朋友。
我是 Tango,一个热爱分享技术的程序猿,我们下期见。
版权声明: 本文为 InfoQ 作者【IT蜗壳-Tango】的原创文章。
原文链接:【http://xie.infoq.cn/article/651b1f43b5f0cbd3b47feece2】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论