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+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章