android_N项目(高通平台 CTS修改总结
點(diǎn)擊打開鏈接
第一個android_N項(xiàng)目的CTS修改總結(jié)
1:?對于wifi only版本可能發(fā)現(xiàn)的問題:
android.telephony.cts.TelephonyManagerTest#testGetPhoneCount
junit.framework.AssertionFailedError: Phone count should be 0
需要在項(xiàng)目配置文件中修改:
replace file:vendor/qcom/proprietary/qrdplus/Extension/config/default.prop
persist.radio.multisim.config=dsds (雙卡單通)
persist.radio.multisim.config=dsda (雙卡雙通)
persist.radio.multisim.config=tsts (三卡單通)
修改為: persist.radio.multisim.config=ssss(不支持多卡,可能為單卡或無卡)
*修改值只要不是dsds、dsda、tsts,即可。
getPhoneCount相關(guān)其它修改
1)? com.android.internal.R.bool.config_voice_capable = false (是否支持語音)
2)? com.android.internal.R.bool.config_sms_capable = false (是否支持短彩信)
3)? wifi only prop屬性:ro.radio.noril=true (wifi only?決定是否加入默認(rèn)mobile network?類型)
4)??手動修改默認(rèn)network類型:com.android.internal.R.array.networkAttributes
以上1到3配置影響到getPhoneCount的數(shù)量:
1)???????2)?設(shè)為false,3)?設(shè)為true,即PhoneCount?為0;否則為1
?
2:? android.cts.security.SELinuxNeverallowRulesTest#testNeverallowRules119
linux權(quán)限問題,此問題一般是修改了原生的linux默認(rèn)權(quán)限導(dǎo)致,需要驅(qū)動配合修改。例如:The following errors were encountered when validating the SELinuxnever allow rule:
never allow {?? domain?????? -init?? -uncrypt?? -update_engine?? -vold?? -recovery?? -ueventd }?misc_block_device:blk_file { append link relabelfrom rename write open read ioctl lock };
misc_block_device?默認(rèn)權(quán)限修改導(dǎo)致,需要將修改的此項(xiàng)回退或去除。
相關(guān)文件目錄:
system/sepolicy/xxxx.te
device/qcom/sepolicy/common/file_contexts
device/qcom/sepolicy/common/qcomsysd.te
?
3:?android.app.cts.SystemFeaturesTest#testCameraFeatures
PackageManager#hasSystemFeature should return true for android.hardware.camera.level.full
當(dāng)開啟HAL3時,需要添加這個feature項(xiàng)。
可以replace_files/frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml
添加:<feature name=”android.hardware.camera.level.full” />
當(dāng)關(guān)閉HAL3時,需要去除這個feature項(xiàng)。
HAL3的開關(guān)和camera調(diào)試效果有關(guān):persist.camera.HAL3.enabled=1
*HAL3開啟時,CTS Verifier?需要測試CameraITS項(xiàng),此項(xiàng)較難測過。一般做關(guān)閉HAL3處理修改。
?
4:?android.opengl.cts.OpenGlEsVersionTest#testExtensionPack
System feature FEATURE_OPENGLES_EXTENSION_PACK is not available, but extension GL_ANDROID_extension_pack_es31a is in the OpenGL ES extension list.
嘗試修改將frameworks/native/opengl/tools/glgen2/registry/gl.xml中,GL_ANDROID_extension_pack_es31a注釋掉,修改失敗。
因此,需要在OpenGL 3.1中,將FEATURE_OPENGLES_EXTENSION_PACK打開。方法如下:
replace_files/device/qcom/msm8953_32/msm8953_32.mk
PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.opengles.aep.xml:system/etc/permissions/android.hardware.opengles.aep.xml
?
5:? android.security.cts.KernelSettingsTest#testNoConfigGz
/proc/config.gz is readable.? Please recompile your kernel with CONFIG_IKCONFIG_PROC disabled
此項(xiàng)很簡單,只要把CONFIG_IKCONFIG_PROC關(guān)掉就行了:
kernel/msm-3.18/arch/arm/arm64/configs/msmcortex_p3590_pcb-perf_defconfig
kernel/msm-3.18/arch/arm/arm64/configs/msmcortex_p3590_pcb_defconfig
#?CONFIG_IKCONFIG_PROC=y
?
6: android.app.cts.SystemFeaturesTest#testSensorFeatures
PackageManager#hasSystemFeature(android.hardware.sensor.barometer) returns true but SensorManager#getSensorList(6) shows sensors [] expected: true but was: false
這類SensorFeatures,就是檢查sensor的設(shè)備是否與feature匹配。如果有這些feature但是沒有Sensor設(shè)備,將會報錯。此類問題修改如下:
replace_files/device/qcom/msm8953_32/msm8953_32.mk(64位也如此)
1)??????去除:PRODUCT_COPY_FILES += \ …
#?frameworks/native/data/etc/android.hardware.sensor.barometer.xml : system/etc/permissions/android.hardware.sensor.barometer.xml
2)??????注釋掉:
replace_files/frameworks/native/data/etc/android.hardware.sensor.barometer.xml
當(dāng)中feature (驅(qū)動說這個也要注釋掉)
3)??????如果frameworks/native/data/etc/tablet_core_hardware.xml中存在該feature,也要注釋掉。例如compass
?
7: ?android.media.cts.RingtoneManagerTest: Must have at least one ring tone available
至少默認(rèn)要添加一個鈴聲文件:
LCTPreConfig_lxf_p3590_b01.mk
添加默認(rèn)鈴聲:
PRODUCT_PROPERTY_OVERRIDES += \
ro.config.ringtone=Fantastic_Clang.ogg
添加鈴聲路徑:
PRODUCT_COPY_FILES += \
frameworks/base/data/sounds/ringtones/Fantastic_Clang.ogg:system/media/audio/ringtones/Fantastic_Clang.ogg
?
8. android.icu.dev.test.collator.CollationAPITest#TestGetLocale
Error: (CollationAPITest.java:1023) [Coll sr_RS]: Error in valid locale, expected sr_Cyrl_RS, got sr_Latn_RS
Error: (CollationAPITest.java:1028) [Coll sr_RS]: Error in actual locale, expected sr, got sr_Latn
默認(rèn)塞爾維亞語的字庫不是預(yù)期sr_Cyrl_RS.
這類原因一般都是后期修改了字庫導(dǎo)致。相關(guān)目錄:
external/icu/icu4c/source/stubdata/icudt56l.dat
external/icu/icu4c/source/data/xxx/sr_RS.txt
需要回退的xxx目錄的該文件有:lang、locales、region這三個目錄的txt文件和icudt56l.dat
?
9. ?android.permission.cts.DebuggableTest:
Packages marked debuggable: [com.goodix.rawdata, com.goodix.fingerprinttest]
AndroidManifest.xml中的?android:debuggable要置為false,?或者去掉那些android.debuggable置為true的apk.
?
10.? android.media.cts.VideoDecoderPerfTest
testHevcOtherperf1920x1080、testHevcOtherperf3840x2160
Expected achievable frame rates for OMX.qcom.video.decoder.hevc video/hevc 1920x1080: [50.0, 60.0].
Measured frame rate: [179.64555326793428, 178.97307661756975].
修改相關(guān)配置文件,將幀率的范圍擴(kuò)大,例如:
device/qcom/msm8953_32/media/media_codecs_performace_8953.xml
<MediaCodec name=”O(jiān)MX.qcom.video.decoder.hevc” type=”video/hevc” update=”true”>
<Limit name=”measured-frame-rate-1920x1088” range=”50-300”><!--最大值超過180-->
<!-- <Limit name=”measured-frame-rate-1920x1088” range=”50-60”> -->
</MediaCodec>
?
11.? android.backup.cts.BackupQuotaTest
LocalTransport should be available.
1)????? 需要添加LocalTransport功能。
customer_lxf_p3590_b01.cfg:
packages= …
LocalBackupTransport
2)??????添加白名單:zprojects/longcheer-binary/system/etc/sysconfig/backup.xml
<?xml version=”1.0” encoding=”utf-8”>
<config>
<backup-transport-whitelisted-service
??? service=”android/com.android.internal.backup.LocalTransportService” />
</config>
3)??????添加package:zprojects/longcheer-binary/packages.xml
<package name=”LocalBackupTransport”>
<file dst=”system/etc/sysconfig/backup.xml” src=”system/etc/sysconfig/backup.xml”/>
</package>
?
?
最后關(guān)于一些CTS異常測試項(xiàng):
1、相關(guān)KeyEvent
android.app.cts.DialogTest#testOnKeyDownKeyUp
android.app.cts.InstrumentationTest#testSendKeySync
android.view.cts.ContentPaneFocusTest#testAccessActionBar
android.webkit.cts.WebViewTest#testGetHitTestResult
android.widget.cts.DialerFilterTest#testOnKeyUpDown
測試異常由于輸入法沒有響應(yīng),需要對第三方預(yù)置默認(rèn)輸入法手動授權(quán)或者禁用并使用Android?鍵盤輸入法。
?
2、CtsLibcoreTestCases:
libcore.java.text.SimpleDateFormatTest#testNonDstZoneWithDstTimestampForNonHourDstZone
java.text.ParseException: Unparseable date: "2011-06-21T20:00 Lord Howe Daylight Time"
需要聯(lián)網(wǎng)后,重新進(jìn)入時區(qū)列表,選擇Pacific Daylight Time,重啟機(jī)器再測試。
?
3、部分藍(lán)牙掃描超時,可以點(diǎn)擊設(shè)置->藍(lán)牙進(jìn)入列表界面,即可pass
?
4、部分wifi無法連接超時,可以點(diǎn)擊設(shè)置->wifi進(jìn)入列表,即可pass
?
5、部分測試項(xiàng)需要斷網(wǎng)并關(guān)閉藍(lán)牙才可以pass:
android.appsecurity.cts.DirectBootHostTest#testDirectBootEmulated
android.media.cts.VideoDecoderPerfTest#testAvcGoog0Perf0320x0240(幀率達(dá)不到)
android.media.cts.VideoDecoderPerfTest#testAvcGoog0Perf0720x0480(幀率達(dá)不到)
?
6、android.appsecurity.cts.AdoptableHostTest#testPrimaryStorage
測試需要插入SD卡并設(shè)置為內(nèi)部存儲。測試過程10分鐘,測試完成會讀不到SD卡,所以需要重啟后,其它需要SD卡的測試項(xiàng)才能測試過(armeabi-v7a?和?arm64-v8a,連續(xù)測試這一項(xiàng),會有1項(xiàng)不過)
總結(jié)
以上是生活随笔為你收集整理的android_N项目(高通平台 CTS修改总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android6.0 禁止自动同步网络时
- 下一篇: Android : 反射机制获取或设置系