Android模拟器Genymotion安装apk
一、下載apk
選擇你需要安裝的apk進(jìn)行下載,下載完以后放在與adb.exe同一目錄下;
看我的
二、安裝apk遇到的問題
開啟Genymotion模擬器,然后cmd到你的platform-tools目錄下,?
使用以下命令進(jìn)行安裝。
- 1
問題一:apk安裝不成功
錯誤提示Installation failed with message INSTALL_FAILED_CPU_ABI_INCOMPATIBLE
或者直接把.apk包拖進(jìn)Genymotion模擬器中,也是出現(xiàn)同樣的錯誤
分析:這個問題我也糾結(jié)了很久,網(wǎng)上找了一下,原來是Android用Genymotion 調(diào)試的時候,如果有.so的庫的話,出現(xiàn)Failure [INSTALL_FAILED_NO_MATCHING_ABIS] 錯誤,并且始終安裝不上。
這是因為系統(tǒng)里缺少了 Google Play 市場等各種谷歌服務(wù)應(yīng)用,其實是因為版權(quán)問題,從 2.0 版本開始 Genymotion 提供的虛擬設(shè)備都已經(jīng)移除了 Google Apps 以及 ARM library support ,所以如果通過軟件里下載回來的虛擬機,在運行一些必須依靠這些組件運行的 App 時就會出現(xiàn)錯誤或閃退現(xiàn)象。是因為模擬器是在x86的處理器上運行,而手機一般都是RAM架構(gòu)的,所以得把模擬器刷成ARM的才行。
例如像地圖或者瀏覽器什么的,里面會包含一些so動態(tài)庫文件,這些都是在arm環(huán)境下運行的。而genymotion現(xiàn)在的發(fā)布版本沒有帶有Genymotion-ARM-Translation.zip,需要手動添加!
解決方法一:
1、下載 Genymotion-ARM-Translation_v1.1.zip;可以到官網(wǎng)下載?,如果嫌速度太慢也得可以到百度云;?
2、.運行Genymotion,并start你配置好的virtual device
3、將下載好的Genymotion-ARM-Translation_v1.1.zip 拖拽到Genymotion模擬器里面
Genymotion-ARM-Translation_v1.1.zip 拖拽到Genymotion模擬器里面沒有出現(xiàn)安裝的情況
4、如果把Genymotion-ARM-Translation這個拖進(jìn)去,沒有出現(xiàn)安裝,而是出現(xiàn)下圖這種情況,文件被復(fù)制到了 Sdcard/loadcard下面的話
如果無法將zip包拖入Genymotion中,可下載[genymotion-no-java.zip],解壓該文件,然后將Genymotion-Setting-ADB里面的SDK目錄指向解壓文件里面的android-sdk-tools目錄,這樣zip包就可以拖入運行中的模擬器(即放入模擬器的sdcard/Download文件夾)。
5、然后繼續(xù)上述拖拽步驟3,出現(xiàn)如下提示,然后點擊ok。
6、安裝完后,重啟你的virtual device以及Genymotion。
解決方法二
1、打開模擬器:?
我們找到設(shè)置,然后打開它,先設(shè)置一些屬性
2、定位到安全:?
我們找到安全選擇,然后點擊它,設(shè)置安全屬性。
3、定位到未知來源:?
我們在這里允許安裝來自未知來源的應(yīng)用。我們在這里打勾。
4、最關(guān)鍵的來了:?
我們下載一個Genymotion-ARM-Translation.zip的文件,把它拉進(jìn)模擬器里。
5、等待安裝:?
這里是一個安裝過程,等安裝完成就彈出一個對話框,我們點擊OK。
問題2:adb啟動失敗
當(dāng)你重啟genymotion進(jìn)行安裝apk時,提示端口號被占用,mmp,怎么盡是問題呢?內(nèi)心真實一萬個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
好吧,既然問題來了,我們就要迎難而上干掉它。
方法一:查看端口被占用的進(jìn)程,殺掉它
1、打開cmd窗口,進(jìn)入adb.exe所在的文件夾目錄
如 cd C:\android\android-sdk\platform-tools- 1
2、?netstat -aon|findstr “5037”
需要注意的是 有時候會查詢到很多的進(jìn)程(我一般選第一個,不行的話全部試一次,暫時沒有準(zhǔn)確的方法,后續(xù)更新!!)
根據(jù)上圖然后輸入?taskkill /pid 9892 /f?(9892就是占用此端口的進(jìn)程id)
方法二:更改adb.exe的端口號
如果殺掉占用端口的進(jìn)程,還是不能正常啟動怎么辦呢??
在環(huán)境變量里面添加一個變量,ANDROID_ADB_SERVER_PORT,我這里更改成5038,你隨意。
方法三:
用方法一里面的方法查找占用5037端口號的進(jìn)程運行(win+R)—>輸入”cmd” 打開命令行窗口輸入:netstat -aon|findstr “5037”,我發(fā)現(xiàn)這個進(jìn)程就是個adb.exe進(jìn)程,但是這個進(jìn)程不是我們sdk里面的進(jìn)程?
1、我打開這個進(jìn)程的位置,如圖:
2、發(fā)現(xiàn)這個adb.exe的進(jìn)程是我安裝Genymotion里面(D:\Program Files\Genymobile\Genymotion\tools?
adb.exe)的adb,就是這個進(jìn)程搶占了5037的端口。問題找到了,于是乎我就把這個adb給刪除掉。刪除之后我發(fā)現(xiàn)模擬器都start不了了,那么問題來了,如圖:
3、然后我看到了提示!提示里面說在我安裝的Genymotion里面找不到adb工具,問我是不是指定路徑為SDK的路徑,我就順著它的提示,點擊“YES”,就進(jìn)入設(shè)置路徑的界面了,選擇ADB選項卡,第一個就是使用默認(rèn)Genymotion里面的adb(之前我刪除的那個adb),選第二個,第二個就是使用SDK里面的adb.exe,這好辦,我把我SDK的路徑那個給他就好了,如圖:
4、配置好之后重啟你的AndroidStudio和Genymotio就ok了
三、安裝apk
查看模擬器是否與電腦成功連接
1、?cmd到你的platform-tools目錄下,使用以下命令
adb devices- 1
看到我畫出來的就是我的模擬器,證明已經(jīng)成功連接了。
2、接下來執(zhí)行命令
adb install wxwork.apk- 1
顯示安裝成功;
轉(zhuǎn)載于:https://www.cnblogs.com/saryli/p/9244051.html
總結(jié)
以上是生活随笔為你收集整理的Android模拟器Genymotion安装apk的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 反射详解
- 下一篇: PHP基础1--环境搭建