来到了新的公司,才知道做手机是须要做GMS认证的。于是从一个从没有做过GMS认证的小白到一个月做了8个项目的GMS认证。最后。自己都是吐了。每天晚上都是一个人傻傻在加班。更是知道了高通的支持力度让人发抖,无奈的发抖。
以下是我做的一点做GMS认证的笔记。大家能够參考。
事实上,我做完GMS认证后,在想,怎样让一个人从对一个领域一无所知到能得心应手的处理。想了很久。我想说应该是积累

经验的积累,能力的积累,信心的积累。

GMS综述

GMS认证。一般要求我们提供CTS。 XTS。 Verify三份測试报告。例如以下图:

Bin: 认证的软件
CTS: CTS的測试报告
GTS: XTS的測试报告
ctsVerifierReports: Verify測试报告

  • CTS:
    CTS(全称“Compatibility Test Suite”。即“兼容性測试包”)的认证,这是一组用以測试的.apk程序之类的集合,它能够在官网(http://source.android.com/compatibility/downloads.html)上面免费下载。CTS的目的就是让Android设备(如:手机)开发商能够开发出兼容性更好的Android设备。
  • GTS:
    GMS全称为Google Mobile Service,即谷歌移动服务。

    GMS是Google开发并推动Android的动力。也是Android系统的灵魂所在。

  • Verify:
    CTS都是指令自己主动測试。可是另一些測试是必须手动完毕的,这个是verify測试就是手动測试。

1.准备资料:

  • GMS认证的视频文件—android-cts-media-1.0.zip
    用法一:
    新建test文件夹(内有bbb_full。bbb_short。copy_media.sh,make_zip.sh。README.txt ),手机需拷贝android-cts-media-1.0.zip解压到test文件夹中(在不支持存储空间的情况下,使用T卡替代)
    用法二:
    进入android-cts-media-1.1文件夹下,运行:
    . /copy_media.sh all。或./copy_media.sh
    就能够把视频复制手机上了,很的方便和快。
  • android-cts文件
    解压android-cts-4.4_r1-linux_x86-arm.zip
  • CtsDeviceadmin.apk
    此apk位于(android-cts\repository\testcases)文件夹下
  • android-gts文件
    解压gts-2.1_r1.zip
  • CtsVerifier.apk
    ( 解压android-cts-verifier-4.4_r3-linux_x86-arm.zip)

这些资料能够从官网上下载:
http://source.android.com/compatibility/downloads.html(官网)
也能够是客户提供。

2.手机端准备

  • Need insert empty SD card
  • Insert valid SIM card
  • 设置手机语言为英语:进入Settings–Language&input–Language设为English(UnitedStates)
  • 输入法默认使用android输入法,Settings–Language&input–Default—English(US)
  • 手机软件需是User版本号(请用adb remount命令查看),需写IMEI(请按*#06#查看)、MAC码(settings–about phon–statu–wlan mac address)
  • 去掉锁屏(Settings –Security –Screen lock–none )
  • 设置屏幕超时为最长时间30分钟(Settings–Display–Sleep–30minutes)
  • 进入Settings–Date & time–取消Automatic date&time勾选。取消Automatic time zone 勾选, Select time zone,选择GMT-8:00 Pacific Time (注:当实行夏令时后。Pacific Tim会变成GMT-7:00)
  • 打开developer options,Settings–About phone–高速点击Build number 7次
  • Settings–developer options–stay awake and usb debugging allow mock locations 勾选
  • 打开WIFI并连接AP(须要可FQ的网络,由于測试过程中须要连接google的server)
  • 打开蓝牙,Settings–Bluetooth
  • 打开GPS,Settings—Location—开启
  • 打开数据连接。下拉状态栏—选中Data on
  • 安装CtsDeviceadmin.apk
    能够拷贝到sd卡上再安装,也能够使用命令安装:adb install ‘/home/android/CTS_hexiaoming/hexiaoming/CtsDeviceAdmin.apk’
  • 将test文件夹拷贝到sd卡上,也能够使用命令:
    adb push ‘/home/android/CTS_hexiaoming/hexiaoming/test’ /sdcard/test
    (或者进入到android-cts-media-1.1文件夹下,运行:
    . /copy_media.sh all。或./copy_media.sh
  • Settings—Security–Device administrators–勾选上 device administrators列表前三个选项,最后一个不勾选
  • 运行时让屏幕是home主界面上
  • 运行过程中不要触摸屏幕及button

注意:
- While a device is running tests, it must not be used for any other tasks
- Before start CTS, device at the home screen
- Do not press any keys on the device while CTS is running
- Make sure the AP is usability and connectedly.
- Make sure USB cable is stability

3.PC端:(Ubuntu系统)

3.1 CTS測试

android-cts文件(解压)
1. 用USB线连接Linux PC
2.打开终端,进入android-cts/tools文件夹。输入./cts-tradefed.终端显示:

(假设没有这行。说明设备没有和PC连通)
3.输入run cts–plan CTS,開始測试CTS
4.測试完毕后会自己主动生成xml报表,在anroid-cts/repository/results文件夹中(testResult.xml).
5.LOG信息在文件夹下:(android-cts\repository\logs)

普通情况,CTS測试一次不能所有通过,那么怎样仅仅測试Fail项了?

  1. 手动改动testResult.xml,使用gedit打开该文件(gedit testResult.xml)。
  2. 选择查找搜索failed项。替换为notExecuted。然后保存。如图:

  3. 又一次输入./cts-tradefedcts-tf-> run cts–continue-session session_id
    PS: session_id能够通过在CTS命令行里输入l r查看到。比方输入l r查看到的session_id为0那就应该在CTS的命令行输入 run cts –continue-session 0这样就会仅仅会继续測试那些之前fail的项而不会去測试那些已经pass的项

我们怎样改动报告
对于有的測试项。我们没有环境。过不了。

可是我们能够确定此项能够pass,那么我们能够直接改动报告:
我们在改报告的时候。參考要改动的測试项的前一个pass项和后一个pass项。相应改动就能够了,很的简单。改动后,我们再让其又一次跑一下。生成新的測试报告就能够。

假设,我们单独跑包或类:
To run a test package:
‘run cts –package ’
run cts -p android.os
To run a test class:
‘run cts –class ’
run cts -c android.app.cts.SystemFeaturesTest -m testSensorFeatures
run cts -c android.os.cts.Asyn

查看很多其它cts命令信息:
‘run cts –help’
l p————查看有那些功能
l packages——查看有那些包

注意事项:
1.CTS 4.0的命令和CTS 2.3/2.3全然不同,所以在进入CTS后。先输入help看看命令的格式和意思。
2.正常測试一次CTS4.0,须要6-9小时。所以,測试时请接上电源,并尽量在晚上測试,不会影响设备的使用
3.CTS是自己主动化測试,測试过程中不须要人的干预。假设在上班时间,每1-2小时观察下就可以
4.CTS4.0在測试过程中断开、终止都不会生成測试报告,所以。測试前要保证USB连接稳定和平台设置
5.CTS运行run cts–plan CTS时,会搜索android-cts/repository/results中的历史报表文件夹。假设文件有很多,启动速度会很慢。所以。请定期清理results文件夹中的历史报表(直接删除报表文件夹就可以)

常见问题:

  1. 有时,复制会导致一些权限问题。这时,我们能够运行sudo chmod 0777 filename来提高权限。
  2. CTS測试 高速入门—-MTK—很重要
    https://onlinesso.mediatek.com/_layouts/15/mol/topic/ext/Topic.aspx?id=53

3.2 XTS測试:

android-gts文件(解压gts-2.1_r1.zip)
XTS測试和CTS是一样的,仅仅是要把命令略微相应的改一下就能够了:
run xts–plan XTS
run xts–continue-session session_id
run xts -p android.os
run xts -c android.app.cts.SystemFeaturesTest -m testSensorFeatures

3.3 手动測试 CTS-verifier:

CtsVerifier.apk—-( 解压android-cts-verifier-4.4_r3-linux_x86-arm.zip)
这个是手动測试。我们仅仅须要安装此apk。然后依照说明一步一步操作就能够了。最后,我们导出报告。

注意的事情:

  • 这个測试还是有測试顺序的。一般Policy Serialization Test 这个測试项最后一个測试,由于此项会导致后面的Keyguard Password Verification项过不了。我们能够一開始就測试Keyguard Password Verification。最后一个測试Policy Serialization Test。
  • Camera的測试项,我们要一个一个測试,不能直接按pass直接过,就是由于測试的报告里有这些測试项的具体信息。
  • 在測试Accelerometer Measurement Tests项前,我们在settings—Sound—Default notification sound选择一个默认值。否则有可能由于此没有设置,apk会crash。此项过不了。
  • Streaming Video Quality Verifier測试项中,RTSP的三项,有wifi的话能够过。可是HTTP PROGRESSIVE的三项是过不了的。也就是说Streaming Video Quality Verifier測试项是过不了的,这是正常的现象。
  • USB Accessory Test有时候运行命令,是没有效果,这个有可能是电脑的原因,换台电脑多试几次。

    USB Accessory Test in CTS Verifier, Please follow up below steps to test this item:
    1) Install CTSVerifier.apk to the phone device.
    2) Add “18d1:2d01” device to /etc/udev/rules.d/51-android.rules, and restart
    About add “18d1:2d01” device to /etc/udev/rules.d/51-android.rules,
    Please hlep to refer SOP part of “Setup CTS Environment (3/4)”
    Ubuntu 10.4
    New a udev configuration file for the usb and change the mode
    sudo touch /etc/udev/rules.d/51-android.rules
    sudo chmod a+rw /etc/udev/rules.d/51-android.rules
    Add the below string in 51-android-rules to setup the USB
    SUBSYSTEM==”usb”, ATTRS{idVendor}==”0bb4”, ATTRS{idProduct}==“0c03”, MODE=”0666“
    Restart the udev service to update the configuration
    sudo restart udev
    Restart the Ubuntu
    After connecting the Android device to the PC, type lsusb and you should see the below string if the connection is success:
    example:
    Bus 002 Device 002: ID 0bb4:0c03 High Tech Computer Corp.
    3) Connect the phone to a linux pc, with adb enabled
    4) Run cts-usb-accessory on linux PC, wait until “Found android device in accessory mode (18d1:2d01)
    5) Device will pop a prompt to cts-verifier, start the CTS Verifier and run USB Accessory test.
    6) make sure no other devices connnect to the PC.

  • Bluetooth Test測试项,比較须要时间和耐心,要慢慢来操作。特别是BLE Client Test測试项更是如此。

    我们測试此项时,能够先记下mac地址(能够写一些简单的mac地址,如(11:11:11:11:11:11) mac地址要区分大写和小写,这个也要注意),这是由于此项一般要測好多次才干pass,每次都要求从头開始,每次都要输入mac地址。依据測试经验。一般4.BLE Reliable Write 这个才是此測试是否能通过的关键,我通常是4.BLE Reliable Write在倒数第二步来測试。而且多输入几次信息(请不要每次仅仅输入一个字母),直到另一部手机的Waiting on reliable write from client測试项显示绿色。才最后运行8.BLE Client Disconnect就能够通过此项測试。

  • data backup test測试项:
    首先在cts verifier中随便进行一项測试,打开设置中的备份和恢复,点击 generate test data->ok
      adb shell bmgr enable true
      adb shell bmgr transport android/com.android.internal.backup.LocalTransport
      adb shell bmgr run
      adb uninstall com.android.cts.verifier
      adb install F:\CTS4.0\CTS4.0.3_r2\apk4.0.3_r2\CtsVerifier_4.0.3_r1.apk

  • 測试完。我们使用adb push命令将測试报告导出就能够了。
    adb pull /sdcard/ctsVerifierReports /home/android/tmp

3.4 測试结果的一些注意:

  • 測试结果表头的问题,在文档中要求CTS和GTS中的设备信息的Build Fingerprint中的签名文件类型是release-key,也就是说。我们測试的软件版本号的签名要使用release-key,例如以下图所看到的:

  • 在文档中要求GTS项的測试结果中的Properties属性应该包含ro.com.google.gmsversion、ro.com.google.clientidbase,而且有的客户对ro.com.google.clientidbase的名字是有要求的。例如以下图,就缺少ro.com.google.clientidbase的项。

4 Fail项的处理

  • 给高通提case,给MTK提eservice,由于这个一般自己能解的比較少。主要还是要靠高通和MTK来解。
  • 慢慢积累自己的fail项库
  • 慢慢积累自己处理fail项的能力

android之GMS认证相关推荐

  1. Google 认证之GMS 认证

    公司最近Android 12 GMS认证所有问题已经解决完了,感觉是时候写一篇博客记录下一些技术方案. 1,什么是GMS认证 这些在网上已经有太多的介绍,截取其中关键部分. Google GMS 认证 ...

  2. CTS ( 19)---Android 8.1/GO GMS认证

    Android 8.1/GO GMS认证 一.2018年最新的GMS需提供5份测试报告,其中包括以下测试: 1.正式版本的CTS测试  (正式版本指的是要拿来送认证的的版本) 2.正式版本的CtsVe ...

  3. 2020年Android GMS 认证 boot logo 最新要求

    Android GMS 认证 boot logo 要求 下面是GMS认证对开机logo的8点要求,以下是特别容易忽略的几点: 第6点("Powered by Android"标志模 ...

  4. Android集成GMS服务及GMS认证方案

    如果产品要出到国外,特别是欧美,那么极大可能需要集成GMS并进程GMS认证. 这里有三种情况: 1.特殊定制化设备,Android只是一个平台,所有业务全部都是自己的App实现的,服务器也是自己的.中 ...

  5. 2019年Android GMS 认证 boot logo 最新要求

    Android GMS 认证 boot logo 要求 下面是GMS认证对开机logo的8点要求,以下是特别容易忽略的几点: 第6点("Powered by Android"标志模 ...

  6. Android 之Google认证GMS详细解剖

    Android CTS官方网站:https://source.android.com/compatibility/cts/index.html GMS全称为Google Mobile Service, ...

  7. QA:GMS认证、CTS测试、GTS测试、谷歌认证、安卓认证,Android

    本文954个字,正常大约需要阅读两到三分钟,完整阅读更精彩,欢迎评论关注收藏分享! Q:什么是GMS认证? A: GMS全称为Google Mobile Service,即谷歌移动服务,优秀的国外应用 ...

  8. Android 装置CTS与GMS认证差异

    合格的Android智慧型手机必须经过CTS与GMS认证. 不过, 坊间白牌或山寨品牌Android智慧型手机往往不是完全没认证, 就是只有CTS认证但无GMS认证. CTS与GMS认证两者有何差异? ...

  9. Android 8.1/GO GMS认证 (GMS认证群:738320435)

    一.2018年最新的GMS需提供5份测试报告,其中包括以下测试: 1.正式版本的CTS测试  (正式版本指的是要拿来送认证的的版本) 2.正式版本的CtsVerifier测试 3.正式版本的GTS测试 ...

最新文章

  1. -f shell 模糊匹配_linux模糊查找一个文件的方法
  2. uva1628 最优路径问题
  3. python中遍历字典判断是否存在_python中如何判断值在不在字典中
  4. 云存储精华问答 | 云存储是如何工作的?
  5. OpenCV_ cv2.imshow()
  6. Python的主要8大应用领域,你还不会吗?
  7. Python | threading04 - 使用信号量,实现线程间同步
  8. 为facebook添加html/iframe页面 Create A Facebook Landing Page (Static HTML / iFrame)
  9. Flutter中嵌入Android 原生TextView
  10. c语言怎么打开已经保存的文件,保存打开文件之后,怎么也不能在显示函数中出来。。...
  11. 现代版马拉火车!蔚来出动燃油板车运送充电车服务
  12. 马斯克揭晓谜底!SpaceX大火箭将送日本富豪环月七日游
  13. 380v pcb 接线端子_220V线圈的接触器改成380V线圈方法
  14. 网页编写练习 小米闪购
  15. 单容水箱液位pid控制实验报告_过程控制实验-单容水箱液位控制系统
  16. steam加速_追梦加速器:Steam一周销量前十榜单,你的游戏排第几?
  17. python加redis使用教程_python操作Redis入门教程①
  18. 暑期计划安排+作息时间表
  19. window10系统ie设置代理,保存不了的问题
  20. 曼切斯特大学计算机专业世界排名,2021年曼彻斯特大学在世界排名第几?哪些专业在全球TOP50?...

热门文章

  1. 谷歌Android笔记本,运行安卓+Chrome OS合体新系统:谷歌Pixel 3笔记本被曝光
  2. JS判断是否含有某个字段
  3. Windows CE 手机调用UCWEB浏览器的方法
  4. Kanzi自定义插件节点属性、自定义消息以及自定义响应
  5. java实现can通信_[MicroPython]TPYBoard v102 CAN总线通信
  6. 聚美优品启动上市,真的那么赚钱吗?
  7. 基于Java毕业设计校园社团管理平台演示录像2021源码+系统+mysql+lw文档+部署软件
  8. 爬虫-1-基础和urllib
  9. 室友在宿舍玩游戏我学java_在宿舍写代码总被一个室友认为在装逼,该怎么办?...
  10. mysql图形查询操作 点找面及面找点 Polygon获取中心点坐标 空间地理位置计算