您的位置:首页 > 移动开发 > Android开发

Android学习笔记--GMS认证中常见的fail项及解决方法

2016-07-05 13:00 495 查看
#############################################################

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

      
aa83
      或者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 -->

           

        
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: