今天对AOSP 的master branch进行CTS 测试。发现在HOLO测试的时候有很多的错误,都没有通过。具体的错误是以下:06-26 12:10:08 I/0146BF5011010015: android.holo.cts.HoloTest#testHolo FAIL 
06-26 12:10:44 I/0146BF5011010015: android.holo.cts.HoloTest#testHoloDialog FAIL 
06-26 12:11:21 I/0146BF5011010015: android.holo.cts.HoloTest#testHoloDialogMinimumWidth FAIL 
06-26 12:11:57 I/0146BF5011010015: android.holo.cts.HoloTest#testHoloDialogNoActionBar FAIL 
06-26 12:12:33 I/0146BF5011010015: android.holo.cts.HoloTest#testHoloDialogNoActionBarMinimumWidth FAIL 
06-26 12:13:08 I/0146BF5011010015: android.holo.cts.HoloTest#testHoloDialogWhenLarge FAIL 
06-26 12:13:43 I/0146BF5011010015: android.holo.cts.HoloTest#testHoloDialogWhenLargeNoActionBar FAIL 
06-26 12:14:17 I/0146BF5011010015: android.holo.cts.HoloTest#testHoloInputMethod FAIL 
06-26 12:14:52 I/0146BF5011010015: android.holo.cts.HoloTest#testHoloLight FAIL 
06-26 12:15:26 I/0146BF5011010015: android.holo.cts.HoloTest#testHoloLightDarkActionBar FAIL 
06-26 12:16:01 I/0146BF5011010015: android.holo.cts.HoloTest#testHoloLightDialog FAIL 
06-26 12:16:37 I/0146BF5011010015: android.holo.cts.HoloTest#testHoloLightDialogMinimumWidth FAIL 
06-26 12:17:13 I/0146BF5011010015: android.holo.cts.HoloTest#testHoloLightDialogNoActionBar FAIL 
06-26 12:17:49 I/0146BF5011010015: android.holo.cts.HoloTest#testHoloLightDialogNoActionBarMinimumWidth FAIL 
06-26 12:18:23 I/0146BF5011010015: android.holo.cts.HoloTest#testHoloLightDialogWhenLarge FAIL 
06-26 12:18:57 I/0146BF5011010015: android.holo.cts.HoloTest#testHoloLightDialogWhenLargeNoActionBar FAIL 
06-26 12:19:31 I/0146BF5011010015: android.holo.cts.HoloTest#testHoloLightNoActionBar FAIL 
06-26 12:20:05 I/0146BF5011010015: android.holo.cts.HoloTest#testHoloLightNoActionBarFullscreen FAIL 
06-26 12:20:38 I/0146BF5011010015: android.holo.cts.HoloTest#testHoloLightPanel FAIL 
06-26 12:21:13 I/0146BF5011010015: android.holo.cts.HoloTest#testHoloNoActionBar FAIL 
06-26 12:21:47 I/0146BF5011010015: android.holo.cts.HoloTest#testHoloNoActionBarFullscreen FAIL 
06-26 12:22:21 I/0146BF5011010015: android.holo.cts.HoloTest#testHoloPanel FAIL 
06-26 12:22:59 I/0146BF5011010015: android.holo.cts.HoloTest#testHoloWallpaper FAIL 
06-26 12:23:33 I/0146BF5011010015: android.holo.cts.HoloTest#testHoloWallpaperNoTitleBar FAIL 错误信息显示为:
junit.framework.AssertionFailedError: Failed bitmap names: [holo_calendar_view, holo_calendar_view_feb, holo_switch, holo_switch_checked, holo_tabhost, holo_textview, holo_timepicker, holo_color_blue_bright, holo_color_green_light, holo_color_orange_light] Check /mnt/sdcard/cts-holo-assets/failed and /mnt/sdcard/cts-holo-assets/diff for details.^M^M
at android.holo.cts.HoloTest.runThemeTest(HoloTest.java:143)^M^M
at android.holo.cts.HoloTest.testHolo(HoloTest.java:35)^M^M
at java.lang.reflect.Method.invokeNative(Native Method)^M^M
at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:214)^M^M
at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:199)^M^M
at android.test.ActivityInstrumentationTestCase2.runTest(ActivityInstrumentationTestCase2.java:192)^M^M
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)^M^M
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154)^M^M
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:545)^M^M
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1551)^M^M我查看过sdcard/cts-holo-assets/下的diff和failed文件夹里面的所有的文件,他们都是对应的,并且都能看出在颜色上不一样。也查看过执行compare的相关的代码,也没有发现什么不对劲。但就是没有一项能够通过。查看了很多的中英文的论坛,都没有人提出解决的办法,不知道有没有哪位朋友可以帮忙?谢谢!

解决方案 »

  1.   

    跑cts一般这些测试项直接通过的~    跑cts的机器抓取的log有时候不准确!   建议你在cts源码中运行  抓log排错!  
      

  2.   

    怎么在CTS源码中运行?谢谢。
      

  3.   

    已经知道怎么运行CTS源码了,谢谢。。
    明天再跑跑看是否问题解决了。
      

  4.   


    呵呵,你可以将失败的结果交给测试或者开发人员分析      有时候cts测试不通过   可能是系统自身原因  需要修改的!
      

  5.   

    谢谢您这么热心的回复。我已经把这个问题post到google group里面去讨论了结果我会贴到这边来
      

  6.   

    測試平台是x86的 碰過跟妳類似的問題 測試結果全都FAIL
    我改了 Setting -> language & input
    Language 改成 English (United States)
    Keyboard & input methods 的 default 改成 English(US) - Android keyboard改完之後 就正常了 試試看吧
      

  7.   

    1,楼上提到的中英文的问题,跑这个测试之前需要把系统语言设置成英文。
    2,检查编译选项,有可能是编译选项里指定了些分辨率,造成编译完的镜像中没有包含有测试尺寸大小的资源文件。
    3,如果是在最新的4.04上跑CTS,请参考这个链接:
    https://groups.google.com/forum/?fromgroups#!topic/android-building/ZooDEBySksY
      

  8.   

    7楼,我觉得你说的第二点很有可能! 可是我现在还是过不了这个CTS,能否加你QQ求教?
      

  9.   

    好像是font default值问题, default 改到normal
      

  10.   

    http://blog.sina.com.cn/s/blog_82f640ed010166ub.html
      

  11.   

    在另一个帖子里回复了这个问题,再贴一边吧,希望有用!
    http://bbs.csdn.net/topics/390060431?page=1#post-393794606
    ******************************************************************
    我想这个问题与屏幕尺寸,分辨率,dpi都有关系,只有正确设定他们才能pass。
     怎样根据手机设定参数请参考google这篇文章: 
     http://developer.android.com/guide/practices/screens_support.html 
     
    我之前也是24项全部fail,修改后全部pass了。我的方法如下:
     我的手机resolution:1280*720, ro.sh.lcd_density=320, 屏幕尺寸是4.5". 
     因此,要这样修改device config (device/.../.../device.mk): 
     PRODUCT_CHARACTERISTICS := phone
     ......
     PRODUCT_AAPT_CONFIG := normal hdpi xhdpi
     PRODUCT_AAPT_PREF_CONFIG := xhdpi

     
    p.s. 我曾经尝试只设定PRODUCT_AAPT_CONFIG := normal xhdpi, 但是系统起不来。
     
    希望这个对同样纠结于CTS的童鞋有用!
    ********************************************************************