Genymotion中“App not installed”的解决方法

前  言

由于之前一直是在Genymotion上测试自己的小程序,还没有安装过日常使用的软件,比如第三方浏览器。于是,就想着安装试试,结果发现,不管在Genymotion上安装任何从应用商店上下载的App,都会出现下面的情况。

Genymotion中“App not installed”的解决方法

这意思倒是够直观,“App not installed”,App没有安装......你倒是提示一下为嘛不能安装啊。

于是,换了另一种安装方式,从电脑端下载APK文件,直接拖入到Genymotion界面中安装,然后出现了下面的错误提示。

Genymotion中“App not installed”的解决方法

看来确实是不能安装应用了。

解决方法

经过一番搜索了解,发现原因如下(*引用自常见apk安装失败的错误及原因):

INSTALL_FAILED_NO_MATCHING_ABIS:主要是CPU架构不同导致需要的类库不同。

INSTALL_FAILED_NO_MATCHING_ABIS is when you are trying to install an app that has native libraries and it doesn't have a native library for your cpu architecture. For example if you compiled an app for armv7 and are trying to install it on an emulator that uses the Intel architecture instead it will not work.

INSTALL_FAILED_CPU_ABI_INCOMPATIBLE:

当一个程序设计员(Programer)写了一行英文程序,想在Android手机里显现出“Hello!World“,他必须将这行英文程序(=程序阶段)编译成Android手机看得懂的格式(=Apk文件)。

而目前世界上的手机根据处理器(Cpu)指令的不同,分成三种格式:

即:1. ARMv6/7;2. Intel Atom;3. MIPS…..

因为你装的是Bluestacks,模拟的是三星手机,使用所谓的“ARMv7”Cpu格式,隶属于ARM手机的阵营。

但是你下载的这个APK文件,当初在“程序阶段”编译成“APK文件”时,引用了Intel Atom或MIPS的指令格式,造成只有Intel Atom或MIPS的手机才看得懂这个APK,ARM手机是看不懂你的这个APK文件的内容,当然不会让你安装啦!

“INSTALL_FAILED_CPU_ABI_INCOMPATIBLE”的意思:

  • INSTALL_FAILED指“安装失败”。
  • CPU_ABI指“处理器属性(即ARM/Intel-Atom/MIPS)”。
  • INCOMPATIBLE指“不兼容”。

整句话的意思就是“你的这个APK用的CPU指令格式跟你要装的手机CPU指令格式不兼容!!“

怎么解决?

  • 你会玩Android SDK:把这个APK文件反压缩还原成程序阶段,然后引用“ARM Cpu格式”重新编译成新的APK文件。
  • 你不会玩Android SDK:重新下一个支持ARM手机机种的同款App。

而JACK的机器人的情况与文中的示例刚好相反,模拟器本身运行在x86架构的PC平台上,而一般应用都是针对ARM架构的移动平台。所以解决方法也就很简单了,直接找到x86版的Android应用软件就可以安装了,例如下面这个。

Genymotion中“App not installed”的解决方法

网络流传的解决方法

这样问题实际上已经解决了,但是引用的文中也和其他很多文章一样,最后也在提示使用Genymotion的情况下,需要安装一个谷歌提供的依赖库“Genymotion-ARM-Translation_v1.1”,下载链接如下:

百度网盘提取码:56mk

安装方法也是将下载下来的zip压缩包直接拖入Genymotion模拟器界面中即可自动安装,如下。

Genymotion中“App not installed”的解决方法

等待出现以下窗口,表示安装成功。

Genymotion中“App not installed”的解决方法

不过,虽然成功安装了这个依赖库,JACK的机器人实际测试,发现仍然不能够正常安装日常应用(实际测试的版本有4.1,4.4.4,5.0,5.1,最终都不行)。

所以,解决此问题的关键,仍然是找到对应的x86版App进行安装。

  • A+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章