Android学习笔记--GMS认证中常见的fail项及解决方法
#############################################################
cts测试的一些命令:
sudo chmod a+x copy_media.sh
./copy_media.sh all
adb install CtsDeviceAdmin.apk
./cts-traded
run cts --plan CTS //CTS全量测试
run cts -c .... -m ..... // 单项测试
run cts --continue-session sessionID //fail项测试
#############################################################
cts测试前需要注意的事项:
1) 固定版本:BUILD_FINGERPRINT
baseline/build/core/Makefile
baseline/vendor/XXX/m2222/区域选择/buildinfo.sh
echo "ro.build.fingerprint=Aaaa/ass/ass:$PLATFORM_VERSION/$BUILD_ID/$BF_BUILD_NUMBER:$TARGET_BUILD_VARIANT/$BUILD_VERSION_TAGS"
vendor/vvv/XXX/m2222/ProjectConfig.mk
MTK_SIGNATURE_CUSTOMIZATION=yes;
vendor/XXX/m2222/区域选择/gms.mk
修改clientID及gms包的版本
2) 查看手机 flash的大小
当>=1G时确认下是否需要使用多用户~
3) 手机助手会影响很多网络问题过不了
vendor/myos/configs/p2222/区域/configs.mk
MYOS_APE_PHONEASSIST_SUPPORT=yes--->no
#############################################################
cts测试遇到的问题点:
1) -testExternalStorageNone/testExternalStorageRead/testExternalStorageWrite
测试sd卡存储功能的,在测试的时候可以将sd卡格式化再测试;
多用户的话,由于几个宏控的设置导致sd卡不能存储,mtk那边release了一个sdcard0.c文件,需要修改一下~
设置:platform.xml文件不需要修改
*.rc文件将export前面的#去掉:device/xxxx/vvvv2342_34c_r/init.project.rc
2) -testBuildFingerprint
没有固定版本号的报错信息;
修改: baseline/vendor/XXX/m2222/区域选择/ProjectConfig.mk和buildinfo.sh
其中ProjectConfig.mk是将宏控打开:MTK_SIGNATURE_CUSTOMIZATION = yes
buildinfo.sh中将echo "ro.build.fingerprint=$BUILD_FINGERPRINT" 修改成
echo "ro.build.fingerprint=Xxxx/xx/xxx:$PLATFORM_VERSION/$BUILD_ID/$BF_BUILD_NUMBER:$TARGET_BUILD_VARIANT/ $BUILD_VERSION_TAGS"
3) -testOctane
设置默认浏览器为chrome
4) -testDumpProtected/testTrafficStatsForLocalhost
多测试几便就能通过~
5) -testNoAttributesAfterLastPublicAttribute/testDnsWorks
前者可以豁免,后者是将网络转换成IPV6就可以测试通过;
6) -testGetWithId/testGet
跑单项抓log,根据log信息来确定问题点:
run cts -c android.media.cts.CamcorderProfileTest -m testGetWithId
adb logcat > ./testGet_FAIL.txt 一般问题是在某些像素的照片不支持所导致~
Log里的关键字可以搜索(1024x768)is not supported
更改该文件baseline/vendor/mediatek/proprietary/custom/xxxx/hal/D1/sendepfeature/xxx_mipi_raw/config.ftbl.xxx_mipi_raw.h
7) -testBatchAndFlush/testBatchAndFlushWithMultipleSensors
陀螺仪和传感器方面的测试,首先确认机型是否支持该项功能,然后再进行测试修改;
如果支持传感器功能则需要进行校准后进行测试该项,否则将宏关闭,多测试几遍会pass。
baseline/vendor/XXX/m2222/区域选择/ProjectConfig.mk
CUSTOM_KERNEL_GYROSCOPE = yes-->将yes删掉
安装GameCube.apk做一下校准,过程:安装GameCube.apk-->进入GameCube.apk -->选择“orienttion Sensor” -->"Raw Output" -->查看Accurcy的值
正常的为: high / medium /low,若看到的是unkonw, 可以拿手机在各个方向晃几下,显示正常了再开始测试即可。(尽可能离机箱远一些)
8) -testAeRegions/testAfRegions/testTakePicture/testTouchForFocus/testBurstVideoSnapshot
这几项使用来测试相机的,首先保证测试的环境:光线充足,摄像头未被遮挡等;
9)-testIsRunning/- testGetAnimatedFraction/testGetAnimatedValue/testGetAnimatedValue_PropertyName
动画播放fail,首先确认设置-->开发者选项-->窗口动画缩放/动画程序时长调整/过渡动画缩放是否设置为1x
setting-->Developer options-->Window animation scale/Transition animation scale/Animation duration scale-->1x
10) -testIsRunning
googe patch的问题
修改:baseline/frameworks/av/media/libstagefright/ACodec.cpp
#define MP3_MULTI_FRAME_COUNT_IN_ONE_INPUTBUFFER_FOR_PURE_AUDIO 2
#define MP3_MULTI_FRAME_COUNT_IN_ONE_INPUTBUFFER_FOR_VIDEO 1
#define MP3_MULTI_FRAME_COUNT_IN_ONE_OUTPUTBUFFER_FOR_PURE_AUDIO 2
#define MP3_MULTI_FRAME_COUNT_IN_ONE_OUTPUTBUFFER_FOR_VIDEO 1
将原来的1修改成2;
11)-testOtherH263FlexArbitraryH/testOtherH263FlexArbitraryW/testOtherH263FlexMaxMax/testOtherH263SurfNearMaxMax....
fail的原因是263有些音频格式不支持,修改:baseline/device/mediatek/xxxx/media_codecs.xml
12)-testNoAttributesAfterLastPublicAttribute
查看此次做了什么修改,需要还原才能解决。
可以从此路径开始搜索 baseline/vendor/xxxx/requirment/区域/app/Mms/res/xml/notificationpreferences.xml
#############################################################
GTS测试
1)--com.google.android.webview.xts.WebViewTest
testWebViewFrameworkConfigSettingIsSet/testWebViewIsPreinstalled/testWebViewIsSignedWithCorrectKeys/testWebViewIsSystem
修改:vendor/google/products/gms.mk
或者vendor/XXX/m2222/区域选择/gms.mk
PRODUCT_PREBUILT_WEBVIEWCHROMIUM := no-->yes
这些测试项都是测试是否有正确安装GMS包的webview,除了改成yes 之外,把相关部分复原为gms.mk中的原始的设定, 重新 build 后进行测试;
2)--testSecurityPatchFound
修改:baseline/vendor/XXX/m2222/区域选择/buildinfo.sh
加上:echo "ro.build.version.security_patch=$PLATFORM_SECURITY_PATCH"
3)--com.google.android.xts.afw.AfwRequiredAppsOverlaysTest
testContactsRequiredManagedDeviceOverlay/testDialerRequiredManagedDeviceOverlay/testLauncherRequiredManagedDeviceOverlay
修改:1.baseline/vendor/google/products/gms_overlay/packages/apps/ManagedProvisioning/res/values/vendor_required_apps_managed_device.xml
2.baseline/vendor/google/products/gms_overlay/packages/apps/ManagedProvisioning/res/values/vendor_required_apps_managed_profile.xml
1.添加: <item>com.android.contacts</item>
<item>com.android.dialer</item>
<item>com.ape.launcher3</item>
去掉:<!--item>com.google.android.contacts</item--> <!-- Google Contacts -->
2.添加:<item>com.android.contacts</item>
去掉<!--item>com.google.android.contacts</item--> <!-- Google Contacts -->
Android学习笔记--GMS认证中常见的fail项及解决方法相关推荐
- 计算机错误符号,解析Excel中常见的错误符号以及解决方法
解析Excel中常见的错误符号以及解决方法分享给大家, Excel 电子表格是很多人都要使用的软件,也相信很多人都会用,但是用得好不好就差别很大了,用得好的话可以让工作效率大大提高,但关于Excel的 ...
- vue学习笔记(四)- cmd无法识别vue命令解决方法
vue学习笔记(四)- cmd无法识别vue命令解决方法 参考文章: (1)vue学习笔记(四)- cmd无法识别vue命令解决方法 (2)https://www.cnblogs.com/suRimn ...
- 学习笔记 --- 编码过程中常见的三种异步方式
实际的编码过程中, 凡是涉及到网络通信的代码, 异步都是决不可缺少的. 那么什么是异步呢? 异步就是子线程, 异步通过开辟子线程来实现, 所以一提到异步就应该想到子线程. 即使不涉及网络通信, 异步也 ...
- Birt学习笔记——birt开发过程中常见的问题 (转)
2011-11-02 00:06:42| 分类: 技术 |字号 订阅 这是我自己在学birt的时候做的记录,版本是birt2.5.2,文字功底有限,表达的很不严谨,在这里仅供大家参孝学习: 如果在这 ...
- Birt学习笔记——birt开发过程中常见的问题
>>1.说明,访问数据列有三种方式,如上面的row.id,或者可以使用row["id"],或者可以使用row[1],得到的都是数据列id. >>2.在标题 ...
- Android 7.0 GMS测试 Camera模块CTS fail项分析
在上一篇博客中我们提到Camera模块fail项,本篇博客我们单独讲解Camera模块的. GMS中涉及Camera的有: 1.CTS部分的CtsCameraTestCases模块 2.CTS VER ...
- android音乐播放器底部,android音乐播放器开发中所遇到的bug及解决方法
这几天在写一个android版的音乐播放器,在开发过程中遇到了一些小问题 小bug,最后经过一番调试与查找 终于发现问题所在.现在将开发中的问题与解决方法分享给大家... 一,音乐播放器的界面我采用的 ...
- java oom_Java中常见OOM的场景及解决方法
OOM for Heap (java.lang.OutOfMemoryError: Java heap space) 分析 此OOM是由于JVM中heap的最大值不满足需要,将设置heap的最大值调 ...
- nodejs学习笔记--Unexpected end of JSON input while parsing near ‘...“解决方法
Unexpected end of JSON input while parsing near '-"解决方法 在学习nodejs时,用命令行工具执行npm install xxx,经常卡住 ...
最新文章
- mac OneNote恢复历史记录
- 苹果Think Different广告
- 基于Pytorch再次解读ResNet现代卷积神经网络
- 互斥信号量的删除与状态查询
- Android支持横行滚动的ListView控件
- NTA高性能Flow负载均衡及其应用
- AAAI2021 大运动“视频超分辨”中的对偶子网与多阶通信上采样方案
- spingboot整合netty实现单聊整合实现
- 《数据资产管理实践白皮书(5.0版)》正式发布,附下载链接
- 【Paper-Attack Defense】Adversarial Label-Flipping Attack and Defense for Graph Neural Networks
- 科沃斯扫地机器人电路原理图_科沃斯扫地机器人不工作故障维修(CEN550)
- mate7 刷机 android 7,华为Mate7如何刷机 华为Mate7详细root刷机教程
- ansys19.0安装破解教程(图文详解)
- php电子邮件群发源码,php电子邮件群发源码
- 淘宝logo设计遇到的坑
- 《Spring实战》学习笔记-第六章:web视图解析
- CoinGecko 播客:与 Cartesi 联合创始人 Erick 一起构建 Layer-2
- 锐龙r7 5800x怎么样 相当于什么水平
- C#与C/C++的交互
- Python爬虫:和我一起学习scrapy(三)