[Android] 在 Genymotion 模擬器裡,安裝含有 ARM 原生碼的 app

[Android] 在 Genymotion 模擬器裡,安裝含有 ARM 原生碼的 app

今天想把 Vacron Viewer 這個 app 裝進 Genymotion 模擬器裡,

但把 APK 拉進模擬器時,出現了錯誤訊息,

說這 app 裡含了 ARM 原生的程式碼,

因為 Genymotion 本身是 x86 架構,因此無法安裝:

 

用 adb install,則會出現 INSTALL_FAILED_NO_MATCHING_ABIS 的錯誤訊息,

但意義是一樣的:

testuser@localhost $ adb install VacronViewer_v1.15.0.apk

/Users/testuser/VacronViewer_v1.15.0.apk: 1 file pushed. 54.7 MB/s (11006958 bytes in 0.192s)
    pkg: /data/local/tmp/VacronViewer_v1.15.0.apk
Failure [INSTALL_FAILED_NO_MATCHING_ABIS]

 

上網查了一下,已經有人寫了 ARM Translation 這個工具來解決這個問題。

來試試把它裝進 Genymotion 模擬器吧~

 

1. 下載 ARM Translation v1.1 zip

下載 Genymotion-ARM-Translation_v1.1.zip 這個檔案。

 

2. 安裝 ARM Translation

將這 zip 檔案,拉到 Genymotion 模擬器裡面,

會出現下面的警告訊息,按 OK 繼續:

(確實有可能損壞模擬器,

擔心的話可以在 VirtualBox 那邊先做快照 (Snapshot))

 

很快就安裝好:

 

重新再將 Vacron Viewer 的 APK 拉到模擬器了,這時就安裝成功了。

用 adb install 安裝也是一樣成功:

testuser@localhost $ adb install -r VacronViewer_v1.15.0.apk

VacronViewer_v1.15.0.apk: 1 file pushed. 50.2 MB/s (11006958 bytes in 0.209s)
    pkg: /data/local/tmp/VacronViewer_v1.15.0.apk
Success

 

裝好的 app 也確實可以執行:

 

要注意的是,ARM Translation 似乎和 Open GApps 不合,

我之前先裝了 Open GApps 之後,再來裝 ARM Translation,

結果 Wi-Fi 網路就再也連不上了…

後來我是把模擬器刪掉,重新建立一個模擬器,

這次不裝 Open GApps,直接安裝 ARM Translation,似乎就無異狀…

 

目前還沒找到兩全其美的方法,

就只能一個模擬器裝 Open GApps (有 Google Play 商店),

另一個模擬器裝 ARM Translation 工具了~

 

備註:並不是所有 Android 版本的模擬器都能安裝 ARM Translation,

我在 Android 8.0 的模擬器安裝時,

會出現 Genymotion failed to flash 的錯誤訊息:

 

就算能安裝 ARM Translation,也不一定能正常運作。

目前測過 Android 4.1.1 和 4.3 版是沒有問題的;

但像 4.4.4 雖然可以裝 ARM Translation,

可是我安裝完 Vacron Viewer,是無法成功執行的…

 

參考資料:

INSTALL_FAILED_NO_MATCHING_ABIS when install apk

How To Download & Install ARM Translation v1.1.zip for Genymotion

(本頁面已被瀏覽過 5,857 次)

One thought on “[Android] 在 Genymotion 模擬器裡,安裝含有 ARM 原生碼的 app

  1. 這篇文章詳盡地介紹了如何在 Genymotion 上安裝含有 ARM 原生碼的應用,對於像我這樣的開發者來說非常有幫助!感謝分享這些實用的步驟和技巧!

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料