测试前奏 之 Genimotion下adb命令操作的环境配置

版权声明:情之所钟,虽丑不嫌。 https://blog.csdn.net/u012827205/article/details/82559341

  周末是一个学习与总结的好时机。利用工作之余、闲暇之中做些喜欢的事情,一时间会感到很满足、很充实。笔者做安卓移动开发的,为了提高在所开发应用app的性能,得到一款流畅、讨人喜爱的应用,之前在开发路线上也做了很多的功课。晓得怎么快速定位自己亲手开发的应用哪里存在bug问题,哪里存在性能问题,通过什么方式能够更好的优化处理,是很重要的。那么学习一下测试我觉得会是一个很好的技术方案与方向。
  测试中,设备的测试是免不了的操作。起初使用真机,而权限问题却是硬伤。无奈之下忍屈憋痛找了模拟器使用下下,但在配置环境使用Genymotion时问题出现了,坑多多吖 ~
为了让更多学习中的伙伴能够快速定位并解决问题,并做一个静静的美男子。在此把自己的配置经验分享一下;
    所需文件下载链接
     密码:qghq
这里写图片描述

简单解释一下图的内容,并根据下图目的进行配置。
这里写图片描述

apache-ant adt-bundle-windows VirtualBox genymotion .ova 结尾文件
开发环境配置其一 集成了adt、sdk和eclipse的开发包 虚拟机 手机模拟器设备 双击装入VirtualBox的虚拟手机设备

配置自动化测试环境

阐明下我的正确配置组合

操作系统 genymotion版本 VirtualBox版本
win10-64位 2.6.0 5.2.18

接下来,先走一遍我错误配置的过程,然后详尽描述又是如何纠正和走回正道的。

错误的配置组合

操作系统 genymotion版本 VirtualBox版本
win10-64位 2.6.0 4.3.x

这里写图片描述

配置的整个流程

  1. 配置jdk
  2. 配置ant环境(系统变量中配置)
    这里写图片描述
    这里写图片描述
  3. 配置adbandriod命令环境(同样是在系统变量中进行配置)
    adb的命令在路径在**/sdk/platform-tools (‘adb’不是内部或外部命令,也不是可运行的程序或批处理文件)
    andriod的命令在路径在**/sdk/tools ( ‘android’ 不是内部或外部命令,也不是可运行的程序或批处理文件。)
  4. 安装VirtualBox
  5. 安装Genymotion

我这里的VirtualBox版本使用的是v4.3.4,一个会导致错误的版本,详情请继续翻看
这里写图片描述
上图就是出现的问题,而且对于一个初学者而言更是一个很难以解决的问题。但在这个问题上少许花费点时间还是可以解决的。
解决流程:
1. 设置 VirtualBox 和 Genymotion 兼容性、使用管理员身份运行,如下。其中两者的兼容性设置要一致。
这里写图片描述
当然这个设置在我的电脑上还是不能完全解决让我做正常操作的问题。尽管我有些不服气多次尝试了几个版本,如4.3.10版本,还是不能!好像4.3.x版本本身在我的电脑上是存在问题的。
2. 于是卸载4.3.x的版本,并重新安装此时最新的5.2.18版本(这个版本是我实在无奈到官网重新下载
在最新版本之后就没有问题了,Genymotion可以正常打开。但还是无法满足我的需求,在操作过程问题依然存在。
下面的则是5.2.18版本+Genymotion+兼容性配置+管理员运行配置 正常启动后的样子
这里写图片描述
里面的手机虚拟设备是通过上图中的.ova文件双击加入到VirtualBox虚拟机中的。
3. 新的问题出现就是下图中的——委屈,我先在模拟器设备中打开了调试
这里写图片描述
然后自我感觉良好的在dos命令窗口中秀一下,结果
这里写图片描述
又出错!!!尴尬,又有意料之外的问题出现,怎么办?解决它!经过各种方式,得出结论
这里写图片描述

adb server version (32) doesn't match this client (39); killing...
error: could not install *smartsocket* listener: cannot bind to 127.0.0.1:5037: 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 (10048)

这个问题主要是出现在Genymotion身上,当Genymotion启动之后,原始配置上是使用自己默认的。导致了各种的不匹配,但是使用上图中开发包adt-bundle-windows中的sdk也是不行,会出现同样的问题。
4.于是再次进行尝试,使用我Andrdoid Studio 中SDK,并把sdk地址添加了进去。最后再次操作执行,发现成功了,像下面。最后的总结是,VirtualBox版本SDK的配置影响好深远。
这里写图片描述

Genymotion模拟器安装apk失败

  紧接着我已经迫不及待的要使用adb命令对手机模拟器设备进行apk的安装测试了。然后输入adb安装apk命令,结果~~又炸了。。
Failure [INSTALL_FAILED_NO_MATCHING_ABIS]
这里写图片描述
  Genymotion从版本2.0开始提供的虚拟设备移除了Google Apps,以及ARM library support支持,依靠这些组件运行的app都会报这个错误。而解决方案就是下载让Genymotion支持app安装运行的ARM架构的工具包,并装到Genymotion模拟器中。

  网络上有说,下载完了之后直接拖到模拟器中就能提示并配置安装了。我拖我拽了半天,电脑碰巧也是不能够使用这种方式。于是我只能使用命令安装了,生活真美好(life is shit)。步骤,
1. 下载相应的工具包
2. 启开Genymotion虚拟机设备
3. 打开dos字符窗口,将本地Genymotion-ARM-Translation.zip工具包拷贝到模拟器的 /sdcard/Download/目录
4. 然后再进行安装执行
本地拷贝:adb -s 模拟器名 push 工具包名 /sdcard/Download/工具包的新名字
安装执行:adb shell flash-archive.sh /sdcard/Download/工具包的新名字
这里写图片描述
这里写图片描述

看到 Done successfully ! 说明工具包安装成功了。然后我就直接执行安装apk的命令,
这里写图片描述
发现还是不能安装apk软件到虚拟机中。为什么??因为需要重新启动虚拟机才行!
4. 重新启动虚拟即,并执行adb的安装命令,终发现,成功了。
这里写图片描述

最后的问题 Genymotion 点开安装的app,崩溃

你以为,这样就完美成功了吗?你错了,因为当你安装apk到模拟器中之后,点击运行会发现——瞬间崩溃!而这个问题,我目前试过n中方式,暂时无解。。。。。
这里写图片描述

猜你喜欢

转载自blog.csdn.net/u012827205/article/details/82559341