android 模拟器测试之旅
近期,app 需要在模拟器上跑,主要验证在低内存(1g~2g)的环境中看下app会不会出现崩溃或者异常。
Android studio的模拟器
最开始就选择了google亲儿子验证。毕竟下载速度快,写测试demo的时候也运行过。一番操作下来,首先发现了第一个问题:
1. 模拟器占用空间大,C盘不够用了
百度下,配置了环境变量android_sdk_home,然后去C:\Users\xxx\.android\avd 目录把对应的模拟器删了很轻松就搞定了。
创建新的avd,选择android版本,选择system image,创建好了之后。第二步就是安装apk了。因为apk里面有很多资源文件,包括外部配置,地图等。直接运行是没法安装的,因此都是把资源文件打包到apk里面再进行安装。打好包,打开cmd,跳转到adb 命令所在的目录(我的是D:\software\android\platform-tools下),把apk拷贝过来,运行命令adb install 命令。
到这里出现了第二个问题:
2. install_failed_no_matching_abis 错误。
继续百度:
https://stackoverflow.com/questions/24572052/install-failed-no-matching-abis-when-install-apk
上面讲的比较清楚了程序用的native library跟你模拟器的cpu 架构不匹配。网上搜了下解决办法,在app的build.gradle中加上这样一句话即可:
// 解决 native libraries 不支持cpu的体系结构。允许模拟器调试android {splits {abi {enable truereset()include 'x86', 'armeabi-v7a','x86_64'universalApk true}}}
OK,按部就班操作。重新打release包,报错。但是release下就生成了对应的apk。查看了下app的build.gradle的配置,注释掉了相对的打包配置
重新打包,成功。在release下,每个架构都生成了一个apk.
查找了下模拟器的架构,发现是x86的,
把app-x86-release.apk 放到了对应的目录下,重新运行 adb install 命令。安装成功!
原以为万事大吉,后面只需要找找修改模拟器内存的方式改下。然后运行下就ok了。可惜在运行的时候发现又报错了, 第三个问题:
so库与jar包不匹配
难道刚刚解决的不是这个问题吗?回想起之前弄so文件的时候也经常出现这个错误。看了下代码结构
难道说要找armeab-v7a架构的模拟器才行?简单查了下 还真在模拟器的选项上发现了。
好吧,那就重新建立个模拟器吧,反正也不费什么事儿,一通操作… , 下载成功,启动模拟器!第4个问题:
google arm架构的模拟器简直没法用
启动模拟器过程中弹出了个这个
没事,小问题,不管它,等了几分钟模拟器黑屏没动静,又等了十几分钟一直卡在android图标界面。半个多小时之后模拟器终于启动了,怀着激动的心情点击了几下模拟器,发现模拟器卡住不动了。重启之后一通操作的我终于意识到了上面那个10倍速度的慢是有多慢。
一边挂着google的模拟器,一遍寻求其它的解决办法。
转战genymotion
听大家说genymotion模拟器好用,而且安装可以不用adb命令,直接拖拽。那好吧,去官网瞅瞅
下一个带VitualBox的。安装,exe先装genymotion模拟器,再装virtualBox。 一切顺利,启动;哦,要账号,记得之前好像不需要账号的啊?算了 注册一个;啥,要收费?那免费试用30天的吧!register之后,发现邮箱里面并没有收到激活邮件,等了几分钟,发现了这个。
这也太不靠谱了吧?我要这儿折腾一个小时(实际也没要1h,大概十几分钟之后收到了邮件)?而且听说这个模拟器还需要去下载一个兼容包(Genymotion-ARM-Translation.zip)才能跑arm架构的apk。此路不通?换?
转战雷电模拟器
寻寻觅觅,找到个雷电模拟器(听说支持arm架构),网上一搜发现有很多夹带私货的推广。发下官网地址:
https://www.ldmnq.com/
进去下载试了下,发现出乎意料的好用。程序很快就安装跑起来了,没出幺蛾子,修改内存简单,在设置里面修改, 重启就好。至此模拟器的选择就搞定了。
吐槽一下不好的地方:
- 雷电模拟器根据自己的版本支持android版本,比如我用的雷电模拟器大版本是4.x,那么对应支持的android模拟器的版本是7.1,无法新建其它版本的模拟器。这也是跟google模拟器以及genymotion的区别,比较人家搞这个主要是玩手游,多开方便的。
- 另外不知道是我电脑分辨率的原因还是什么其它原因?我的电脑显示没有退出按钮
好了 ,自此完结。
android 模拟器测试之旅相关推荐
- Android零基础入门第7节:搞定Android模拟器,开启甜蜜之旅
原文:Android零基础入门第7节:搞定Android模拟器,开启甜蜜之旅 在前几期中总结分享了Android的前世今生.Android 系统架构和应用组件那些事.带你一起来聊一聊Android开发 ...
- Android开发之旅:环境搭建及HelloWorld
2019独角兽企业重金招聘Python工程师标准>>> 引言 本系列适合0基础的人员,因为我就是从0开始的,此系列记录我步入Android开发的一些经验分享,望与君共勉!作为Andr ...
- Android自动化测试之MonkeyRunner录制和回放脚本
Android自动化测试之MonkeyRunner录制和回放脚本(十一) 分类: 自动化测试 Android自动化 2013-02-22 10:57 7346人阅读 评论(2) 收藏 举报 andro ...
- 我的Android进阶之旅------Android利用Sensor(传感器)实现水平仪功能的小例
这里介绍的水平仪,指的是比较传统的气泡水平仪,在一个透明圆盘内充满液体,液体中留有一个气泡,当一端翘起时,该气泡就会浮向翘起的一端. 利用方向传感器返回的第一个参数,实现了一个指南针小应用. ...
- 升级ADT22.6后,Android模拟器无法创建
这 两天,在社区里看到有小伙伴们反应,自己在Eclipse下无法创建Android模拟器的问题.起初,自己也没太在意,我一直使用的是 Genymotion模拟器.然后,问题不解决,总有那么一天会让自己 ...
- 五步快速安装android模拟器
有时候我们不得不面临一些离开自己电脑,那么怎样才能在别人的电脑上快速安装android的模拟器呢,下面记载着自己快速安装android模拟器的步骤 一..首先准备的内容有 .jdk1.6 ...
- Android自动化测试之MonkeyRunner MonkeyDevice MonkeyImage API使用详解 脚本编写 脚本录制回放
MonkeyRunner 系列文章 MonkeyRunner简介 MonkeyRunner 三大模块 MonkeyRunner API MonkeyDevice API MonkeyImage API ...
- Android单元测试之Local unit tests(上)
Android单元测试之Local unit tests(上) 简介 本地单元测试 JUnit 4 添加依赖 测试例子 结论 Mockito 添加依赖 测试例子-mock基本使用 测试例子-mock与 ...
- Android专项测试之崩溃测试(CPU)
Android专项测试之崩溃测试(CPU) 崩溃问题类型 ❖ ANR:❖ 主线程5s内没响应 ❖ Java Crash: ❖ 未捕获的android vm异常 ❖ Native Crash: ❖ 未处 ...
- 【我的Android进阶之旅】推荐一款视频转换GIF图片格式的转换工具(Video to GIF)
一.背景 最近想把一些Android Demo的运行效果图获取下来,但是一直使用真机进行调试,在电脑上不好截取一段gif动画.而之前使用模拟器的时候可以使用 GifCam 工具进行屏幕动画截取.Gif ...
最新文章
- 电信运营商如何玩转大数据?
- C++知识点54——RTTI(运行时类型识别)
- python扫描目录下文件_Python扫描目录读取文件,不考虑子目录
- HALCON示例程序holes.hdev孔洞提取
- 常用Arthas命令
- Sahi ---实现 Web 自动化测试
- git 查看分支_系统掌握Git之—探索.git
- XJOI 3281 A * B Problem again 题解
- Linux Kernel 5.0 近日正式面向公众
- 我总结了程序员转行得最有出路5个方向
- 今天的几点感悟_20160711
- css清除浮动的四种方法(详细)
- QGIS 3.14|地震数据动画效果实战(二)动画设置篇
- python爬虫-源码
- app四种开发模式的优缺点
- 对目前的人工智能的一些思考
- MySQL Inport--导入数据
- Yolo V3识别颜色及长短袖
- 【CBAM Pytorch实现】注意力机制综述阅读推荐
- Ubuntu下安装RealtekRTL8125网卡驱动