Android模擬器Genymotion安裝apk


一、下載apk

選擇你需要安裝的apk進行下載,下載完以后放在與adb.exe同一目錄下;

看我的

這里寫圖片描述

二、安裝apk遇到的問題

開啟Genymotion模擬器,然后cmd到你的platform-tools目錄下, 
使用以下命令進行安裝。

adb install wxwork.apk
  • 1

問題一:apk安裝不成功

錯誤提示Installation failed with message INSTALL_FAILED_CPU_ABI_INCOMPATIBLE

或者直接把.apk包拖進Genymotion模擬器中,也是出現同樣的錯誤

分析:這個問題我也糾結了很久,網上找了一下,原來是Android用Genymotion 調試的時候,如果有.so的庫的話,出現Failure [INSTALL_FAILED_NO_MATCHING_ABIS] 錯誤,並且始終安裝不上。

這是因為系統里缺少了 Google Play 市場等各種谷歌服務應用,其實是因為版權問題,從 2.0 版本開始 Genymotion 提供的虛擬設備都已經移除了 Google Apps 以及 ARM library support ,所以如果通過軟件里下載回來的虛擬機,在運行一些必須依靠這些組件運行的 App 時就會出現錯誤或閃退現象。是因為模擬器是在x86的處理器上運行,而手機一般都是RAM架構的,所以得把模擬器刷成ARM的才行。

例如像地圖或者瀏覽器什么的,里面會包含一些so動態庫文件,這些都是在arm環境下運行的。而genymotion現在的發布版本沒有帶有Genymotion-ARM-Translation.zip,需要手動添加!

解決方法一:

1、下載 Genymotion-ARM-Translation_v1.1.zip;可以到官網下載 ,如果嫌速度太慢也得可以到百度雲; 
2、.運行Genymotion,並start你配置好的virtual device

這里寫圖片描述

3、將下載好的Genymotion-ARM-Translation_v1.1.zip 拖拽到Genymotion模擬器里面

這里寫圖片描述

Genymotion-ARM-Translation_v1.1.zip 拖拽到Genymotion模擬器里面沒有出現安裝的情況

4、如果把Genymotion-ARM-Translation這個拖進去,沒有出現安裝,而是出現下圖這種情況,文件被復制到了 Sdcard/loadcard下面的話

這里寫圖片描述

如果無法將zip包拖入Genymotion中,可下載[genymotion-no-java.zip],解壓該文件,然后將Genymotion-Setting-ADB里面的SDK目錄指向解壓文件里面的android-sdk-tools目錄,這樣zip包就可以拖入運行中的模擬器(即放入模擬器的sdcard/Download文件夾)。

這里寫圖片描述

5、然后繼續上述拖拽步驟3,出現如下提示,然后點擊ok。

這里寫圖片描述

這里寫圖片描述

6、安裝完后,重啟你的virtual device以及Genymotion。

解決方法二

1、打開模擬器: 
我們找到設置,然后打開它,先設置一些屬性

這里寫圖片描述

2、定位到安全: 
我們找到安全選擇,然后點擊它,設置安全屬性。

這里寫圖片描述

3、定位到未知來源: 
我們在這里允許安裝來自未知來源的應用。我們在這里打勾。

這里寫圖片描述

4、最關鍵的來了: 
我們下載一個Genymotion-ARM-Translation.zip的文件,把它拉進模擬器里。

這里寫圖片描述

5、等待安裝: 
這里是一個安裝過程,等安裝完成就彈出一個對話框,我們點擊OK。

這里寫圖片描述

問題2:adb啟動失敗

當你重啟genymotion進行安裝apk時,提示端口號被占用,mmp,怎么盡是問題呢?內心真實一萬個xxx在奔騰。

Unable to create Debug Bridge: Unable to start adb server: error: could not install *smartsocket* listener: cannot bind to 127.0.0.1:5037: 端口只能使用一次 (10048) could not read ok from ADB Server * failed to start daemon * error: cannot connect to daemon
  • 1
  • 2
  • 3
  • 4

好吧,既然問題來了,我們就要迎難而上干掉它。

方法一:查看端口被占用的進程,殺掉它

1、打開cmd窗口,進入adb.exe所在的文件夾目錄

如  cd C:\android\android-sdk\platform-tools
  • 1

2、 netstat -aon|findstr “5037”

這里寫圖片描述

需要注意的是 有時候會查詢到很多的進程(我一般選第一個,不行的話全部試一次,暫時沒有准確的方法,后續更新!!)

根據上圖然后輸入 taskkill /pid 9892 /f (9892就是占用此端口的進程id)

方法二:更改adb.exe的端口號

如果殺掉占用端口的進程,還是不能正常啟動怎么辦呢? 
在環境變量里面添加一個變量,ANDROID_ADB_SERVER_PORT,我這里更改成5038,你隨意。

這里寫圖片描述

方法三:

用方法一里面的方法查找占用5037端口號的進程運行(win+R)—>輸入”cmd” 打開命令行窗口輸入:netstat -aon|findstr “5037”,我發現這個進程就是個adb.exe進程,但是這個進程不是我們sdk里面的進程 
1、我打開這個進程的位置,如圖:

這里寫圖片描述

2、發現這個adb.exe的進程是我安裝Genymotion里面(D:\Program Files\Genymobile\Genymotion\tools 
adb.exe)的adb,就是這個進程搶占了5037的端口。問題找到了,於是乎我就把這個adb給刪除掉。刪除之后我發現模擬器都start不了了,那么問題來了,如圖:

這里寫圖片描述

3、然后我看到了提示!提示里面說在我安裝的Genymotion里面找不到adb工具,問我是不是指定路徑為SDK的路徑,我就順着它的提示,點擊“YES”,就進入設置路徑的界面了,選擇ADB選項卡,第一個就是使用默認Genymotion里面的adb(之前我刪除的那個adb),選第二個,第二個就是使用SDK里面的adb.exe,這好辦,我把我SDK的路徑那個給他就好了,如圖:

這里寫圖片描述

4、配置好之后重啟你的AndroidStudio和Genymotio就ok了

三、安裝apk

查看模擬器是否與電腦成功連接

1、 cmd到你的platform-tools目錄下,使用以下命令

adb devices
  • 1

這里寫圖片描述

看到我畫出來的就是我的模擬器,證明已經成功連接了。

2、接下來執行命令

adb install wxwork.apk
  • 1

顯示安裝成功;

這里寫圖片描述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM