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
显示安装成功;
Android模拟器Genymotion安装apk的更多相关文章
- Android开发之模拟器genymotion安装apk出现错误: Install_failed_invalid_URI
作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985,转载请说明出处. install failed invalid uri Android开发之模拟器ge ...
- Android模拟器genymotion安装与eclipse 插件安装
推荐一款Android模拟器"Genymotion",有点速度快,占用资源少,可整合eclipse.闲话少谈,看安装步骤. 1.下载地址:https://www.genymotio ...
- 【Android Studio安装部署系列】三十二、Android模拟器Genymotion安装使用教程详解
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 一.注册\登录 打开Genymotion官网,https://www.genymotion.com/ ,首先点击右上角的Sign in进行 ...
- Android 模拟器genymotion安装,eclipse 插件
genymotion是一款号称速度最快性能最好的android模拟器,它基于Oracle VM VirtualBox.支持GPS.重力感应.光.温度等诸多传感器:支持OpenGL 3D加速:电池电量模 ...
- Android模拟器Genymotion安装向导
Genymotion简述 Genymotion提供Android虚拟环境的工具集.相信很多Android开发者一定受够了速度慢.体验差效率及其地下的官方模拟器了.如果你没有物理机器,又不想忍受官方模拟 ...
- Android模拟器Genymotion安装使用教程详解
一.注册\登录 打开Genymotion官网,https://www.genymotion.com/ ,首先点击右上角的Sign in进行登录操作.如何登录就不细讲了,下面讲一下如何注册(备注:注册按 ...
- Monkey学习(3)如何在Android模拟器中安装apk
1.运行SDK Manager,选择模拟器,并运行模拟器,我这里用的是已经配置好的模拟器“RedMI” 2.已启动好的模拟器“RedMI” 3.记住需要安装apk文件的位置,我这里放在了F盘的根目录下 ...
- 如何在Android模拟器上安装apk文件
1.运行SDK Manager,选择模拟器,并运行模拟器 SDK Manager应用 2.将需要安装的apk文件复制到platform-tools目录下(默认在:D:\tools\android\ad ...
- 在Android模拟器里安装apk
[原文]http://Android.tgbus.com/android/tutorial/201104/349532.shtml 1.运行SDK Manager,选择模拟器,并运行模拟器. 2.将需 ...
随机推荐
- C#异步编程模式IAsyncResult
IAsyncResult 异步设计模式通过名为 BeginOperationName 和 EndOperationName 的两个方法来实现原同步方法的异步调用,如 FileStream 类提供了 B ...
- HDU 6081 度度熊的王国战略【并查集/数据弱水题/正解最小割算法】
链接6081 度度熊的王国战略 Time Limit: 40000/20000 MS (Java/Others) Memory Limit: 32768/132768 K (Java/Others) ...
- 揭秘响应式web设计
0.引言 响应式web设计的作用主要使网页能在不同小大的显示窗口下依然优雅.当前的显示窗口有pc,ipad,iphone以及一些其他的设备.不同的显示窗口的分辨率各不相同,如何在不同的分辨率的情况下 ...
- RabbitMQ (二) 简单队列
参考:https://blog.csdn.net/vbirdbest/article/details/78583480 简单队列的模型: P : 生产者,即 Producer C : 消费者,即 Co ...
- HDU 6315: Naive Operations
Naive Operations Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 502768/502768 K (Java/Other ...
- [NOI2018]屠龙勇士(exCRT)
首先很明显剑的选择是唯一的,直接用multiset即可. 接下来可以发现每条龙都是一个模线性方程.设攻击第i条龙的剑的攻击力为$s_i$,则$s_ix\equiv a_i\ (mod\ p_i)$. ...
- [Contest20180314]学习
为了响应班级组团学习的要求,班主任xx将班上的$n$个同学编成了$m$个学习小组. 班长小r作为资深OI选手,他发现班级里存在一个可以量化的学习激♂情,并且这个激情跟组内成♀对的同学数量相关.若有$x ...
- phpMyAdmin 个性化设置,字体大小设置,去掉“以树形显示数据库”,禁用“发送错误报告”
个性化设置phpMyAdmin 在使用phpMyAdmin 3.5.8.2时,发现: 如果数据库有相同的前缀,左边数据库导航会把前缀合并,即所谓的“以树形显示数据库”,真的有点不习惯,如下图所示: 不 ...
- 【译】PHP中的Session及其一些安全措施
有一点我们必须承认,大多数web应用程序都离不开session的使用.这篇文章将会结合php以及http协议来分析如何建立一个安全的会话管理机制.我们先简单的了解一些http的知识,从而理解该协议的无 ...
- JS面向对象之原型
面向对象之原型 为什么要使用原型 由于 js 是解释执行的语言, 那么在代码中出现的函数与对象, 如果重复执行, 那么会创建多个副本, 消耗更多的内存, 从而降低性能 传统构造函数的问题 functi ...