‘壹’ 什么样的 android 手机适合做测试机
测试机的挑选标准,无非是要能在尽量全地覆盖到目标用户所使用的机型的同时,交集尽量地小。所以某种程度上,取决于你的用户是谁。
豌豆荚是希望覆盖全所有 Android 用户,所以我们是在市场占有率前几名的手机在挑选,同时几个主要厂商(Moto、HTC 等)和自定义系统(HTC Sense、MotoBlur 等等尤其是那些改动比较多的系统)都覆盖到,Google 的官方样板机(Nexus One、Nexus S)也是必备的。
‘贰’ android 开发的测试机型
如果只是为了开发系统功能,可以买谷歌的android旗舰机Nexus系列的最新版,其它手机厂商总是定制android系统,而谷歌的手机是原生系统。如果公司是做app开发的话,则应该考虑购入不同厂家,不同系统版本,不同尺寸、分辨率的手机,因为需要测试app是否能够适配不同手机,平板,现在android碎片化问题太严重,这是必须考虑的事情
‘叁’ APP 兼容性测试
APP 兼容性测试维度包含:新旧版本兼容测试、不同机型测试(系统兼容性、屏幕兼容性、分辨率兼容、尺寸兼容)、不同网络兼容,具体如下:
一、新旧版本兼容性测试
1、新旧版本覆盖安装升级正常
2、新增功能,新旧版本覆盖安装后使用正常
二、不同机型测试
1.系统兼容性
(1)iOS 系统:iOS11.x、iOS12.x、iOS13.x、iOS14.x
(2)Android 系统:Android5.x、Android6.x、Android7.x、Android8.x、Android9.x、Android10.x、Android11.x
2.屏幕兼容性
iOS:
(1)刘海屏:例如:iPhone x、iPhone xs 、iPhone XR、iPhone 11、iPhone 11 Pro、iPhone 11 pro max、iPhone 12、iPhone 12 pro、iPhone 12 pro max、iPhone 12 mini
(2)非刘海屏:例如:iPhone 8、iPhone 8 plus、iPhone 7、iPhone 7 plus、iPhone 6、iPhone 6s、iPhone 6s plus、iPhone 5s
Android:
(1)全面屏:例如:华为 P30、红米 K30 至尊纪念版、荣耀 X10、vivo APEX 2020 等
(2)非全面屏:例如:华为 P10、华为 P10 plus、荣耀 8 等
(3)曲面屏:例如:三星 Galaxy S10+、三星 Galaxy Note 10+ 5G、华为 Mate30 Pro、华为 P30 Pro、vivo NEX3 等
(4)折叠屏:例如:华为 Mate XS 5G、华为 mate X2、三星 Galaxy Z Fold2 5G、三星 Galaxy W21 5G
3.分辨率兼容性
iOS
(1)1080*2340 :iPhone 12 mini
(2)1284*2778:iPhone 12 pro max
(3)1170*2532:iPhone 12 、iPhone 12 pro
(4)750*1334:iPhone SE 2、iPhone 7、iPhone 8、iPhone 6、iPhone 6s
(5)1242*2688:iPhone 11 pro max、iPhone XS Max
(6)1125*2438:iPhone 11 pro
(7)828*1792:iPhone 11、iPhone XR
(8)1125*2436:iPhone XS、iPhone X
(9)1242*2208:iPhone 8 plus、iPhone 7 plus、iPhone 6s plus
(10)640*1136:iPhone 5s
(11)iOS 系统自带的显示模式:标准模式、放大模式
Android
(1)1440*3200:小米 11
(2)1344*2772:华为 mate 40 Pro
(3)1080*2400:一加 8T、vivo S7、OPPO Reno5、荣耀 30、小米 10 青春版、荣耀 X10、荣耀 Play4T Pro、OPPO A92s、Redmi K30 Pro、华为 nova7、三星 Galaxy S20 Ultra、荣耀 30 Pro 5G、荣耀 V30、荣耀 V30 Pro、vivo S5、OPPO R17
(4)1080*2460:中兴 AXON 20
(5)1080*2376:IQOO 5、vivo X50、vivo X50 Pro、vivo X60 Pro、一加 8Pro
(6)1080*2340:锤子坚果 R2、荣耀 30Pro、魅族 17、魅族 17Pro、iQOO U1、华为畅享 20Pro、华为 nova7 Pro、红米 9、realme X2
(7)1600*720:红米 9A
(8)1080*2408:vivo Y31s、IQOO Neo3、IQOO z1
(9)720*1560:荣耀 Play4T
(10)1080*2256:vivo NEX 3 5G
(11)720*1600:OPPO A32、OPPO A8
(12)1080*1920:Mi 10 Pro
(13)2340*1080:小米 10
(14)3220*1400:三星 Galaxy S20
(15)1080*2280:三星 Galaxy Note10
说明:因为 Android 不同厂家机型多,不同屏幕分辨率也多,以上主要是列举常见的
4.尺寸兼容性
(1)iOS 主要机型尺寸:4 寸-6.7 寸
(2)Android 主要机型尺寸:5 寸-6.7 寸
5.不同网络兼容性
(1)Wi-Fi 切换 4G/5G 网络情况下功能是否正常
(2)4G/5G 网络切换 Wi-Fi 情况下功能是否正常
(3)有网切换无网情况下功能是否正常
(4)无网切换有网情况下功能是否正常
‘肆’ 开发Android APP时,用什么品牌的机子做测试最合适
作为在企业中使用的,做Android开发的在选择手机上时可以从三方面考虑入手:
1. 预算。
在企业里面,由于即时是Android的同个版本仍有多个不同设备,厂家不同,标准不同,考虑到这个因素,开发人员要测试尽量多的设备。因为不一定每个设备都支持同一函数,因此需要尽可能多地全面地测试过才知道的。在一定的预算内要拥有足够多足够代表的手机数量,这就局限出了部分手机。一般来说,团队会选购一千元以内的android机,注重性价比高的产品。
2.Android版本。
Android最早的版本为1.0 beta ,至今已经发布了多个版本,后续不断地在前一个版本地基础上对bug进行修复,进行更新,早期版本的手机已经落后于市场了。故倘若Android机的版本过于老旧,是不会进行选购的。另一方面,Android过新的版本还未流入趋势。从Android5.0起,由于Davlik虚拟机被彻底抛弃,转换为ART虚拟机,致使一部分老应用无法正常运行,性能也比不上Android4.4稳定。虽说QQ微博微信以及绝大部分有更新的软件并不会遇到这种问题,但市场上主流还是4.4,6.0等还未普及。所以在Android机的选购可以从Android3.0开始,在4.4达到顶峰,以峰状的形式呈现数量进行选购。
3.用户人群。
每一个手机品牌都有一定的用户人群数量,为了让开发测试更具有代表性,所以企业会进行一系列市场调研,勘测出各类品牌的手机人群数量进行比对。再以此类比到自己选购的手机品牌当中。
小结:用这三点衡量,划出区域重点,得以选出最合适做Android开发可以选择的手机
从个人上来说,选购Android机的专业执行程度不如团队,所以简略使用两个手机即可。
选择一款高端些的,即可进行测试有可日常使用;选择一款性价比高些的低端机,可以主攻测试亦是有备无患。
‘伍’ 谷歌正式推出安卓13Beta测试版本
谷歌正式推出安卓13Beta测试版本
谷歌正式推出安卓13Beta测试版本,安卓 13首个Beta版本最主要的新功能,是此前已经出现在安卓 13最初两个开发者预览版中就出现的,谷歌正式推出安卓13Beta测试版本。
当国产手机厂商把系统方面的优化打造很完美的时候,有很多用户都开始不太注重原生版操作系统了,认为国内定制UI的体验更出色。
而且,安卓原生版本放到国内手机市场还是被用户给适应,同时升级新底层的时候往往会带来很多不好的体验,比如兼容性方面出现的闪退、卡顿等问题。
在这种背景下,安卓系统每次升级的时候也会带来很多争议,再加上这几年的底层升级还不是特别明显,导致很多用户一直都没有进行升级。
不过,对于安卓系统来说,每年推出新版本已经习以为常了,加上系统版本越高,才能够带来更好的防护措施,所以每次大版本更新,国内厂商都会进行适配。
目前,大多数国内手机产品都已经用上了Android12版本,还有一些用户使用的是Android11底层,但没有想到的是,目前的Android13测试版已经正式出炉了。对于国内用户来说,如此快幅度的提升还是有点意想不到。
只不过,当Android13测试版的信息出炉之后,有很多网友称提升并不是特别大。
拿隐私权限为例,在安卓13上使用三方应用程序访问照片、视频或者音乐等三种媒体文件时,都必须由用户确认分别开启对应类型的权限。
然而这项功能在国内市场几乎已经普及,即使不升级到最新的版本,手机厂商也经过UI定制实现了这项功能,这也是安卓13很难被用户感知到的关键。
同时谷歌声称,优化适配大屏设备、平板以及折叠屏是Android 13最优先的工作内容之一,然而国内厂商早就展开了新的适配。
也就是说,现在的安卓系统每年几乎都只是进行升级下底层,其余方面的提升很小,相比于底层方面的提升,用户更加期待手机厂商定制的UI大版本。
比如,去年的MIUI13推出之后,确实带来了非常大的惊喜,也加强了流畅度和功能性,当MIUI13.5遭到曝光之后,也让很多手机用户对其产生了期待。
由此可见,当国内UI定制逐渐在功能性上超过原生版本的话,那么对于国内手机用户来说,自然很难感受到真正的提升。
更何况,目前国内的鸿蒙OS系统已经逐渐普及,虽然手机产品上只有华为才能够进行使用,但是在其余行业上的普及率还是挺广泛的。
因为鸿蒙系统一开始面向的是万物互联,加上很多家电厂商也可以进行使用,那么对于未来的生态方面来说都是有着很强的优势。
毕竟,从安卓7.0到安卓12大家都可以看到谷歌对系统上的调整和变化不是很大,基本都在UI设计的整改上以及用户隐私以及权限上进行升级。
当然,对于如今的市场来说,新的底层来袭,国内厂商肯定是要进行适配,这也是受制于人和顺应时代所必须要采用的事情。
只是原生安卓系统目前仅支持少数机型,例如谷歌自家的Pixel手机,国内厂商都用定制系统,想用上Android 13还远着呢。
更何况按照时间表,Android 13 Beta 2将在5月推送,正式版会在7月之后的某个时间到来,显然最快8月,最慢可能要到9月/10月。
这对于国内用户来说,感知自然不会特别的明显了。
总之,安卓系统陪伴了大家这么多年,如今的状态确实没有一开始那么好了,希望未来能够大幅度突破,而不是只进行底层升级。
4月27日,谷歌今天宣布,Android 13的第一个Beta版本已经推出,Pixel 4/4XL/4a/4a 5G、Pixel 5/5a、Pixel 6/6 Pro用户可以通过Beta计划进行OTA升级,或者自行下载完整镜像安装。
谷歌将在下个月举行年度开发者大会,届时可能会对Android 13的更新内容做全面的`介绍。至于正式版,预计要等到下半年或更晚的时候了。
据了解,Android 13首个Beta版本最主要的新功能,是此前已经出现在Android 13最初两个开发者预览版中就出现的,其中有蓝牙低能量音频,以及新的文件访问权限,用户可以决定应用能够读取相册中的哪些文件。此外,还有一个全新的权限,能够有效过滤垃圾邮件的通知,但认为这一功能在国内用处不大。
Android 13在界面设计风格上和Android 12没有太大区别,但在细节方面做了部分改进,比如音乐通知栏中的进度条,改为动态波浪样式。此外,新版还支持用户编辑剪贴板中的内容,对于常用复制粘贴的人会比较方便,建议国内深度定制系统也学习一下。
此前爆料的MGLRU多页面回收策略,Android 13首个测试版本似乎也没有实装,可能得等到正式版,用户才能体验到“满血”的原生系统。总体来看安卓13更像是12的隐私权限加强版,现在的操作系统都在权限做功课,功能、设计方面已经没有特别明显的改进,开始像iOS那样“挤牙膏”了。
在国内,随着近几年手机厂商对操作系统愈发重视,基于安卓的深度定制系统已经十分完善,从易用性、人性化的角度来看,已经能够迎合绝大部分消费者的需求,就连iOS、谷歌原生的某些新功能都是从国内定制系统中借鉴的。个人隐私方面,MIUI、ColorOS、Magic UI、Origin OS等定制系统也做到了,做的甚至还不差。
近几年大家对系统大版本更新的期待值已经远不如以前,一方面是升级点有限,另一方面则是深度定制系统的崛起,原生系统或许就只剩下大版本更新快,动效流畅而已了。在用国产手机的小伙伴也不用着急,基于Android 13定制的正式版系统估计明年才会陆续推送。
谷歌放出 Android 13 的首个开发者预览已有一段时间,但直到今天才推出更广泛的 Beta 测试。从某种程度上来说,新版的进展还是相当迅速的。如果一切顺利,我们有望于今年晚些时候迎来 Android 13 正式版。
与从 Android 11 到 Android 12 的大飞跃相比,Android 13 在开发初期并没有太多新内容,工作主要集中在功能和体验改进上。
Android 13 Beta 1 没有带来太多新功能的另一个原因,推测是 Google 为 5 月 11 日召开的 I/O 2022 开发者大会而有所保留。
即便如此,WCCFTech 编辑 Furqan Shahid 还是贴心地指出了三项新特性 —— 其中两项让开发者更加受益,另一项则致力于改进用户体验。
首先是更加精细的媒体权限:
在 Android 12 和更早的版本中,当 App 想要访问本地存储的媒体文件时,用户只能一刀切地禁止、或授予完整的存储访问权限。
而随着 Android 13 的到来,用户已能够更加细致地赋予特定 App 能够访问的媒体文件类型,意味着图像、视频和音频文件的授权体验将大不相同。
其次,Android 13 将带来改进的错误报告:
某些 Android 应用会使用 KeyStore 和 KeyMint 生成密钥,但若未能起效,有时可能难以找到原因。
好消息是,Android 13 Beta 1 将提供更加明确的错误报告,从而让密钥生成变得更加轻松。
然后是一个有助于 App 获得正确的音频路由的新 API:
基于此,开发者可了解应用程序的音频流是否可以直接播放,同时应用程序开发者也可找到最佳的音频格式。
最后,随着 Google 持续开发 Android 13,我们有望在不久的将来收获更多惊喜。
‘陆’ Android开发者一般用什么手机做测试
测试手机,价位在1000到2000左右,不要太差,不然运行个demo ,卡的不要不要的,不过要多测试几种不同的手机,android 开发的,华为手机必须要测试。我一般用小米2 进行测试,还有联想的。
‘柒’ 推荐几款适合做测试的android手机
华为,三星9100,HTC G14 G11,你要根据市场主流哪种机型去采购,大家都用的机型,你就要重点测试是不是可以在上面跑。我列举的都是4寸屏幕以上的,主流机型。
‘捌’ android测试机型怎么选好
现在Android手机真是五花八门,各种尺寸的屏和各种分辨率。推荐分辨率:
480×320,640×480,480×800,480×854 ,做这些就差不多了。定制机一般不要考虑了,你做好了这几种分辨率的,定制机上一般都自适应了。即使有误差也不会错的很离谱的。
‘玖’ Android性能测试(内存、cpu、fps、流量、GPU、电量)——adb篇
3)查看进程列表:adb shell "ps",同时也能获取到应用的UID,方式如下(不需root权限):
u0_a开头的都是Android的应用进程,Android的应用的UID是从10000开始,到19999结束,可以在Process.java中查看到(FIRST_APPLICATION_UID和LAST_APPLICATION_UID),u0_a后面的数字就是该应用的UID值减去FIRST_APPLICATION_UID所得的值,所以,对于截图这个应用进程,它是u0_a155,按前面的规制,它的UID就是155 + FIRST_APPLICATION_UID = 10155。
VSS - Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)
RSS - Resident Set Size 实际使用物理内存(包含共享库占用的内存)
PSS - Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)
USS - Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存)
一般来说内存占用大小有如下规律:VSS >= RSS >= PSS >= USS
使用 adb shell "mpsys meminfo -s <pakagename | pid>"命令,输出结果分以下4部分:
PS:在apk内调用运行获取其他app的内存数据则需要root权限
adb命令:adb shell mpsys gfxinfo <package | pid>
正常情况下帧率应该在16.67ms左右,1秒60帧,执行结果如下:
详细计算方法如下:
还有一个命令是: adb shell mpsys SurfaceFlinger --latency LayerName
其中LayerName在各个不同系统中获取的命令是不一样的
在Android 6系统直接就是SurfaceView
在Android 7系统中可以通过 mpsys window windows | grep mSurface | grep SurfaceView 然后通过数据截取到
在Android 8系统中可以通过 mpsys SurfaceFlinger | grep android包名获取到
执行命令结果如下:
计算方法比较简单,一般打印出来的数据是129行(部分机型打印两次257行,但是第一部分是无效数据,取后半部分),取len-2的第一列数据为end_time,取len-128的第一列数据为start_time
fps = 127/((end_time - start_time) / 1000000.0)
至于为啥要取第一列数据,这里不做过多介绍,欢迎参看这两篇文章
老罗的文章SurfaceView原理
Android性能测试之fps获取
至于为啥要处于1000000,因为命令打印出来的是纳秒单位,要转为毫秒进行计算,127就是因为命令一次打印出来127帧的数据而已
有两种方法可以获取
1) adb shell "top -n 5 | grep <package | pid>" ,第三列就是实时监控的CPU占用率(-n 指定执行次数,不需root权限),这边top命令执行需要2到3s左右,一般可以采用busybox 的top命令执行,效率会快很多
2) adb shell "mpsys cpuinfo | grep <package | pid>"
两种方法直接区别在于,top是持续监控状态,而mpsys cpuinfo获取的实时CPU占用率数据
adb命令:adb shell "mpsys batterystats < package | pid>" (Android 5.0后引入)
获取单个应用的耗电量信息,具体返回结果待研究
adb命令:adb shell "mpsys battery"
出现信息解读:
AC powered:false 是否连接AC(电源)充电线
USB powered:true 是否连接USB(PC或笔记本USB插口)充电
Wireless powered:false 是否使用了无线电源
status: 1 电池状态,2为充电状态,其他为非充电状态
level:58 电量(%)
scale: 100. 电量最大数值
voltage: 3977 当前电压(mV)
current now: -335232. 当前电流(mA)
temperature:355 电池温度,单位为0.1摄氏度
adb 命令:adb shell "mpsys< package | pid> | grep UID" [通过ps命令,获取app的UID(安装后唯一且固定)]
adb shell cat /proc/uid_stat/UID/tcp_rcv [cat为查看命令,读取tcp_rcv获取应用接收流量信息(设备重启后清零)]
adb shell cat /proc/uid_stat/UID/tcp_snd [cat为查看命令,读取tcp_snd获取应用发送流量信息(设备重启后清零)]
计算流量消耗步骤:
或者还有一种方式获取应用流量消耗:
首先判断类型:
cat /sys/class/thermal/thermal_zone*/type
只有红框框出来的是有效的
cat /sys/class/thermal/thermal_zone*/temp
获取CPU温度
mpsys battery | grep temperature 单位0.1摄氏度
获取/proc/stat文件内容(无权限限制)
总的cpu时间片是 total = user+nice+system+idle+iowait+irq+softirq
忙碌时间为 notidle = user+nice+system +iowait+irq+softirq
cpu使用率计算方法为,先取开始的total值和忙碌时间notidle,隔一段时间片,再取一次计算total2,notidle2, cpuuse = (notidle2 – notidle) * 100 / (total2 - total)%
PS:由于Android 8权限收紧,在Android 8系统手机内apk内读取文件内容为空,需要shell权限才可获取文件内容,下同
读/sys/devices/system/cpu/cpuX/cpufreq/scaling_cur_freq文件的值,X不定,看是几核手机,scaling_cur_freq是否存在也不一定,需要判断
至于为啥不取cpuinfo_cur_freq文件的值,原因是android 6,7系统获取的时候,这个文件shell没有读取权限,需要root权限
参考文章: https://blog.csdn.net/long_meng/article/details/45934899
Android 6,7系统可执行
mpsys window windows | grep "mCurrentFocus"
执行结果一般为类似:
mCurrentFocus=Window{81caaa5 u0 com.tencent.mobileqq/com.tencent.mobileqq.activity.SplashActivity}
按照一定规则把com.tencent.mobileqq提取出来即可
直接apk内读取文件即可,不需要shell权限(支持到Android8)
Gpu使用率获取:会得到两个值,(前一个/后一个)*100%=使用率
adb shell cat /sys/class/kgsl/kgsl-3d0/gpubusy
Gpu工作频率:
adb shell cat /sys/class/kgsl/kgsl-3d0/gpuclk
adb shell cat /sys/class/kgsl/kgsl-3d0/devfreq/cur_freq
Gpu最大、最小工作频率:
adb shell cat /sys/class/kgsl/kgsl-3d0/devfreq/max_freq
adb shell cat /sys/class/kgsl/kgsl-3d0/devfreq/min_freq
Gpu可用频率
adb shell cat /sys/class/kgsl/kgsl-3d0/gpu_available_frequencies
adb shell cat /sys/class/kgsl/kgsl-3d0/devfreq/available_frequencies
Gpu可用工作模式:
adb shell cat /sys/class/kgsl/kgsl-3d0/devfreq/available_governors
Gpu当前工作模式:
adb shell cat /sys/class/kgsl/kgsl-3d0/devfreq/governor
‘拾’ Android 12系统即将来袭:首批测试机型曝光
令人意想不到的是,距离Android 11发布没过多久,关于下一代手机系统Android 12的参数信息就陆续曝光。
近日,据媒体XDA报道,一份关于总结Android 12变化的早期草案文档在网上得以曝光。
据悉,全新的Android 12采用了全新的扁平化设计,用户界面将由浅米色替代当前的透明背景。
在通知栏中快捷设置的图标从6个减少至4个,并且每个图标尺寸变得更大。
同时, 谷歌还对界面中的电池与时间的位置进行了调换,并在右上角添加隐私指示器。
据了解,Android 12除了带来全新的UI界面,似乎还为用户增加了新的隐私功能。
通过隐私保护器可监控不同应用对摄像头与麦克风的调用权限, 当有应用使用这两个硬件时,隐私指示器便会呈现出不同的颜色,以此告知用户,避免用户在不知情的情况下隐私泄露
此外,当用户点击隐私指示器图标时,可知道是哪款应用正在使用摄像头、麦克风。
相信使用新版苹果iOS与小米MIUI系统的用户,对这项功能并不陌生。
新版系统将在今年上半年亮相,谷歌Pixel系列将是首批支持Android 12的机型。
除此之外,还有三星Galaxy S21、摩托罗拉Edge、Edge+、小米11以及一加9、Poco F2、Realme 8等多款安卓机型。
不过,由于距离Android 12正式发布时间还有一段距离,最终发布时是否支持以上机型目前还未知晓,后续相关信息我们将持续跟踪,敬请期待。