一、参考文档
1.官网参考文档
注意文档操作步骤一定看仔细、看全以后再去操作,避免掉坑
【TOOLS使用】OpenHarmony XTS环境配置及测试 | 华为开发者联盟
技术分享 | OpenHarmony标准系统XTS子系统之应用兼容性测试指导-华为开发者话题 | 华为开发者联盟
二、实操指导
对于XTS兼容性测试认证,根据与鸿蒙使能部沟通结果,必须满足产品最小集的全部测试用例测试PASS+豁免,才能送测;
实际上XTS测试套件包含两部分内容,一部分是包含测试用例的测试套件,另外一部分是测试过程中所必要的资源文件resources;其中第一部分内容有3种方式可以获取:
a.编译源码——源码的test/xts目录下,执行./build.sh product_name = xxx system_size = standard进行测试套件的编译,编译产物在~/out/xxx/suites目录下;
这里可以正常编译的是acts、dcts、hats三项测试项,对于带屏的设备,ssts和acts_validator两个测试项也是必须要进行测试的;
b.直接在官网下载测试套件(包含测试用例和资源文件)后进行自测;
注意:如果是32位的操作系统,可以选择第二种方式在官网直接下载测试套件进行测试;如果是64位操作系统,则需要自己编译源码当中的测试套件然后进行测试;
c.流水线日构建直接下载(建议采取这种方式,避免测试套件与版本匹配错误)
ci.openharmony.cn/workbench/c…
找到对应版本的流水线的步骤:
下面以第②种方式为例进行介绍:
1.测试套件及配套资源文件下载:
1.1补充:PCS最小集删选
针对不同的产品形态(是否带屏),以及轻量/小型/标准系统,需要根据PCS表格筛选出测试最小集,通过XTS认证,只需要最小集范围内的测试用例测试通过+未通过项符合豁免要求即可
下载表格后,筛选出最小集进行手动触发测试
以当前基于rk3568.A开发板进行适配的产品为例,根据1+2两个筛选条件,根据3这一列的筛选结果进行手动测试
2.本地环境配置
2.1配置python环境
本地在acts目录下执行.\run.bat以后,若遇到以下报错,则说明执行脚本所需要的python环境没有配置好:
这里建议直接一步到位,直接安装Anaconda并做相关配置,否则会陷入安装好python3.7以上版本后,还是需要去配置setuptools以及easy_install等工具并频频失败;
安装好Anaconda以后,按照以下步骤进行操作:
#创建新的conda环境:
conda create -n acts_env python=3.8
conda activate acts_env
#安装setuptools:
conda install setuptools
#或
pip install setuptools
2.2修改脚本源码(可选)
最重要的一步来了, 如果按照以上步骤操作后,执行.\run.bat以后还是报错,这就需要去修改acts目录下的run.bat脚本:
将第40行下的内容由
修改为:
然后再执行就ok了
3.执行脚本
执行.\run.bat并出现以下界面后,执行run acts:
注意:最小集的测试需要手动执行命令:
run -l xxxTest;xxxTest;
3.1单模块/单测试用例测试指令
#1.对于acts部分,因部分用例会存在执行失败、过程中熄屏、关机等原因导致测试失败,且测试时间较长,强烈建议分模块进行测试.比如针对图片框架模块,执行如下指令:
run -l ActsImageCreatorJsTest;ActsImageExifJsTest;ActsImageColorspaceJsTest;ActsImageDecodeOptionsJsTest;ActsImageJsTest;ActsImageModifyPropertyJsTest;ActsImagePackingJsTest;ActsImagePixelMapFrameworkJsTest;ActsImageRawJsTest;ActsImageReceiverJsTest;ActsImageRGBAJsTest;ActsImageWebpJsTest;ActsPixelMapNapiEtsTest;ActsImageyuvJsTest;ActsImagePackToFileJsTest;ActsImageColorSpaceTransferTest;ActsImageGetImagePropertyJsTest;ActsImageGifJsTest;ActsImagePackingNdkJsTest;ActsImagePixelMapNdkJsTest;ActsImageReceiverMultiThreadJsTest;ActsImageReceiverNdkJsTest;ActsImageSourceNdkJsTest;ActsImageSvgJsTest;
#2.针对失败的某个测试套,可以单独进行该测试套下所有用例的复测,指令示例如下:
run -l ActsNetManagerHttpEtsTest -ta class:NetworkManagerHttpEnhanceTest
#3.针对失败的某个具体用例,可以单独进行单个测试用例的复测,指令示例如下:
run -l ActsNetManagerHttpEtsTest -ta class:requestMethodJsunit#SUB_Telephony_http_HttpRequestMethod_TRACE_0100
三、注意事项
1.参照标准系统相关指导文档进行操作;
2.若采取编译源码形式获取测试套件:
(针对极端情况下,官方提供的测试套件会存在多次复测一直不通过,且无法豁免的测试用例)
在 OpenHarmony 源码编译中,xts 测试套件默认不会编译到固件中,也不会跟随 build.sh --product-name xxx 命令一起编译,需要单独编译,然后通过uploadx_GX.sh xxx.suite xxx获取到本地然后进行测试。
①为什么默认不编译进固件?
- **固件体积 :XTS 测试套件包含大量测试用例和工具,会显著增加固件大小,而实际产品固件不需要这些测试组件。 - 编译耗时:XTS 编译耗时较长,默认不编译可加快常规开发编译速度。
**- 测试目的:XTS 主要用于验证系统合规性和稳定性,通常在开发、测试阶段单独运行,而非随产品发布。
② 如何单独编译 XTS?
在 OpenHarmony 源码根目录下,可通过以下命令编译 XTS 测试套件:
bash ./build.sh --product-name xxx --build-target xts
#其中:
--product-name xxx:指定编译的产品(如 `rk3568`、`hispark_taurus` 等)。
--build-target xts`:明确指定编译 XTS 目标。
编译产物默认生成在: out/xxx/xts/ ---
四.关于提交测评流程及豁免申请的说明
4.1关于提交测评流程
①提交兼容性测评官网
www.openharmony.cn/compatibili…
②测评流程填写注意事项
1.产品定义
#通过begetctl dump api指令,获取相关系统参数,根据获取到的内容进行填写。(XTS兼容性测试工作组,会将填写内容与测试报告当中披露的字段进行匹配,匹配不一致将会驳回测评流程)
# begetctl dump api
Begin dump syspara
=======================
DeviceType:default
Manufacture:xxxx
Brand:xxxx
MarketName:xxxx
ProductSeries:xxxx
ProductModel:xxxx
SoftwareModel:xxxx
HardwareModel:default
Serial:xxxx
OSFullName:OpenHarmony-5.0.1.111
DisplayVersion:xxxx
BootloaderVersion:bootloader
GetSecurityPatchTag:xxxx
AbiList:default
IncrementalVersion:xxxx
VersionId:xxxx
BuildType:debug
BuildUser:default
BuildHost:default
BuildTime:default
BuildRootHash:default
GetOsReleaseType:Release
GetHardwareProfile:default
FirstApiVersion:1
GetSerial:xxxx
acl serial:
GetDevUdid:xxxx
Acl devUdid:
Version:5.0.1.111
GetSdkApiVersion:13
GetSystemCommitId:2303
=======================
End dump syspara
2.软件定义
#通过param get 获取包括sn号、软件版本号在内的系统参数
# param get
ohos.boot.bootslots = 1
ohos.boot.hardware = xxxx
ohos.boot.sn = xxxx
ohos.boot.time.kernel = 2022305
ohos.boot.time.init = 9128629
ohos.boot.time.wms.ready = 12274772
ohos.boot.time.wms.fullscreen.ready = 19454529
ohos.boot.time.bms.main.bundles.ready = 13841300
ohos.boot.time.samgr.ready = 9138325
ohos.boot.time.boot.completed = 20466238
ohos.boot.time.hdf_devmgr.ready = 9138846
ohos.boot.time.useriam.fwkready = 12629436
ohos.boot.time.appfwk.ready = 13336685
ohos.boot.time.account.ready = 14506315
ohos.boot.time.appspawn.started = 16559741
ohos.boot.time.launcher.ready = 20466097
ohos.boot.time.lockscreen.ready = 18002615
ohos.boot.time.param_watcher.started = 9139356
ohos.boot.time.renderservice.ready = 10699931
ohos.boot.time.bootanimation.ready = 13400647
ohos.boot.time.bootanimation.started = 14296838
ohos.boot.time.bootanimation.finished = 20328064
ohos.boot.time.avsessionservice.ready = 13415633
ohos.boot.reboot_reason = AP_S_COLDBOOT
sys.usb.config = hdc
sys.usb.ffs.ready = 0
sys.usb.configfs = 1
sys.use_memfd = false
web.optimization = true
web.debug.devtools = false
web.debug.netlog = None
web.debug.trace = false
web.debug.strictsiteIsolation.enable = none
web.oop.gpu = None
web.PRPPreload.enable = true
dlp.permission.gathering.policy = false
net.tcp.default_init_rwnd = 60
const.ohos.version.security_patch = 2025/11/28
const.ohos.releasetype = Release
const.ohos.apiversion = 13
const.ohos.fullname = OpenHarmony-5.0.1.111
const.ohos.buildroothash = default
const.ark.minVersion = 0.0.0.2
const.ark.version = 12.0.6.0
const.hdc.version = Ver: 3.0.0b
const.hdc.secure = 0
const.sys.abilityms.limit_maximum_extensions_of_per_process = 10
const.sys.abilityms.limit_maximum_extensions_of_per_device = 100
const.sys.abilityms.cache_extension = 260
const.wifi.country_code.conf = 1
const.wifi.country_code.runmode = normal
const.wifi.country_code.factory = HK
const.wifi.dnscure_ipcfg = 8.8.8.8;208.67.222.222;180.76.76.76;223.5.5.5
const.wifi.wifi_first_dns = 8.8.8.8
const.wifi.wifi_second_dns = 180.76.76.76
const.product.hardwareversion = default
const.product.model = xxxx
const.product.name = xxxx
const.product.cpu.abilist = default
const.product.devicetype = default
const.product.brand = xxxx
const.product.build.type = debug
const.product.build.user = default
const.product.build.host = default
const.product.build.date = default
const.product.software.version = xxxx
const.product.devUdid = xxxx
const.product.manufacturer = xxxx
const.product.bootloader.version = bootloader
const.product.incremental.version = 2026-01-06.08-05-49
const.product.firstapiversion = 1
const.product.hardwareprofile = default
const.secure = 0
const.allow.mock.location = 0
const.build.characteristics = default
const.build.product = gk6780v100
const.sandbox = enable
const.global.language = zh-Hans
const.global.locale = zh-Hans-CN
const.global.region = CN
const.actionable_compatible_property.enabled = false
const.postinstall.fstab.prefix = /system
const.debuggable = 1
const.software.model = xxxx
const.display.brightness.min = 1
const.display.brightness.default = 102
const.display.brightness.max = 255
const.multimedia.audio.fixedvolume = false
const.multimedia.audio.volumestep = 1
const.multimedia.audio.persistmute = false
const.abilityms.launch_embeded_ui_ability = false
const.telephony.slotCount = 1
const.telephony.sms.expire.days = 7
const.telephony.satellite.supported = 0
const.security.developermode.state = true
const.distributed_file_property.enabled = true
const.SystemCapability.AI.IntelligentVoice.Core = true
const.SystemCapability.AI.MindSporeLite = true
const.SystemCapability.AI.NeuralNetworkRuntime = true
const.SystemCapability.Ai.MindSpore = true
const.SystemCapability.Ability.AbilityBase = true
const.SystemCapability.Ability.AppStartup = true
const.SystemCapability.Ability.Form = true
const.SystemCapability.Ability.AbilityRuntime.AbilityCore = true
const.SystemCapability.Ability.AbilityRuntime.Core = true
const.SystemCapability.Ability.AbilityRuntime.FAModel = true
const.SystemCapability.Ability.AbilityRuntime.Mission = true
const.SystemCapability.Ability.AbilityRuntime.QuickFix = true
const.SystemCapability.Ability.AbilityTools.AbilityAssistant = true
const.SystemCapability.Ability.AppExtension.PhotoEditorExtension = true
const.SystemCapability.Ability.DistributedAbilityManager = true
const.SystemCapability.Account.AppAccount = true
const.SystemCapability.Account.OsAccount = true
const.SystemCapability.ArkUI.ArkUI.Full = true
const.SystemCapability.ArkUI.ArkUI.Lite = true
const.SystemCapability.ArkUI.ArkUI.Napi = true
const.SystemCapability.ArkUI.ArkUI.Libuv = true
const.SystemCapability.ArkUI.UiAppearance = true
const.SystemCapability.ArkUi.Graphics3D = true
const.SystemCapability.Base = true
const.SystemCapability.Msdp.DeviceStatus.Cooperate = true
const.SystemCapability.Msdp.DeviceStatus.Drag = true
const.SystemCapability.Msdp.DeviceStatus.Stationary = true
const.SystemCapability.Test.UiTest = true
const.SystemCapability.USB.USBManager = true
const.SystemCapability.Web.Webview.Core = true
const.SystemCapability.XTS.DeviceAttest = true
const.SystemCapability.Print.PrintFramework = true
const.SystemCapability.Utils.Lang = true
const.SystemCapability.Driver.DDK.Extension = true
const.SystemCapability.Driver.HID.Extension = true
const.SystemCapability.Driver.USB.Extension = true
const.SystemCapability.Driver.ExternalDevice = true
const.SystemCapability.Global.I18n = true
const.SystemCapability.Global.ResourceManager = true
const.SystemCapability.Update.UpdateService = true
const.SystemCapability.Window.SessionManager = true
const.SystemCapability.Graphic.Graphic2D.ColorManager.Core = true
const.SystemCapability.Graphic.Graphic2D.EGL = true
const.SystemCapability.Graphic.Graphic2D.GLES2 = true
const.SystemCapability.Graphic.Graphic2D.GLES3 = true
const.SystemCapability.Graphic.Graphic2D.WebGL = true
const.SystemCapability.Graphic.Graphic2D.NativeBuffer = true
const.SystemCapability.Graphic.Graphic2D.NativeImage = true
const.SystemCapability.Graphic.Graphic2D.NativeVsync = true
const.SystemCapability.Graphic.Graphic2D.WebGL2 = true
const.SystemCapability.Graphic.Graphic2D.NativeWindow = true
const.SystemCapability.Graphic.Graphic2D.HyperGraphicManager = true
const.SystemCapability.Graphic.Graphic2D.NativeDrawing = true
const.SystemCapability.Graphic.Vulkan = true
const.SystemCapability.Request.FileTransferAgent = true
const.SystemCapability.Sensors.MiscDevice = true
const.SystemCapability.Sensors.MiscDevice.Lite = true
const.SystemCapability.Sensors.Sensor = true
const.SystemCapability.Sensors.Sensor.Lite = true
const.SystemCapability.Startup.SystemInfo = true
const.SystemCapability.Startup.SystemInfo.Lite = true
const.SystemCapability.UserIAM.UserAuth.Core = true
const.SystemCapability.UserIAM.UserAuth.FaceAuth = true
const.SystemCapability.UserIAM.UserAuth.PinAuth = true
const.SystemCapability.UserIAM.UserAuth.FingerprintAuth = true
const.SystemCapability.Advertising.Ads = true
const.SystemCapability.Advertising.OAID = true
const.SystemCapability.ArkCompiler.JSVM = true
const.SystemCapability.BarrierFree.Accessibility.Core = true
const.SystemCapability.BarrierFree.Accessibility.Hearing = true
const.SystemCapability.BarrierFree.Accessibility.Vision = true
const.SystemCapability.Graphics.Drawing = true
const.SystemCapability.Location.Location.Core = true
const.SystemCapability.Location.Location.Gnss = true
const.SystemCapability.Location.Location.Lite = true
const.SystemCapability.Location.Location.Geocoder = true
const.SystemCapability.Location.Location.Geofence = true
const.SystemCapability.Security.AccessToken = true
const.SystemCapability.Security.Asset = true
const.SystemCapability.Security.Cert = true
const.SystemCapability.Security.Huks.Core = true
const.SystemCapability.Security.Huks.Extension = true
const.SystemCapability.Security.Cipher = true
const.SystemCapability.Security.DeviceAuth = true
const.SystemCapability.Security.CertificateManager = true
const.SystemCapability.Security.CryptoFramework = true
const.SystemCapability.Security.CryptoFramework.Cipher = true
const.SystemCapability.Security.CryptoFramework.Kdf = true
const.SystemCapability.Security.CryptoFramework.Key = true
const.SystemCapability.Security.CryptoFramework.Key.AsymKey = true
const.SystemCapability.Security.CryptoFramework.Key.SymKey = true
const.SystemCapability.Security.CryptoFramework.Mac = true
const.SystemCapability.Security.CryptoFramework.Rand = true
const.SystemCapability.Security.CryptoFramework.KeyAgreement = true
const.SystemCapability.Security.CryptoFramework.Signature = true
const.SystemCapability.Security.CryptoFramework.MessageDigest = true
const.SystemCapability.Security.SecurityGuard = true
const.SystemCapability.Security.DataLossPrevention = true
const.SystemCapability.Security.DataTransitManager = true
const.SystemCapability.Security.DeviceSecurityLevel = true
const.SystemCapability.Security.ScreenLockFileManager = true
const.SystemCapability.HiviewDFX.HiAppEvent = true
const.SystemCapability.HiviewDFX.HiChecker = true
const.SystemCapability.HiviewDFX.HiCollie = true
const.SystemCapability.HiviewDFX.HiDumper = true
const.SystemCapability.HiviewDFX.HiLog = true
const.SystemCapability.HiviewDFX.HiTrace = true
const.SystemCapability.HiviewDFX.Hiview.FaultLogger = true
const.SystemCapability.HiviewDFX.Hiview.LogLibrary = true
const.SystemCapability.HiviewDFX.HiProfiler.HiDebug = true
const.SystemCapability.HiviewDFX.HiSysEvent = true
const.SystemCapability.Telephony.CallManager = true
const.SystemCapability.Telephony.CoreService = true
const.SystemCapability.Telephony.SmsMms = true
const.SystemCapability.Telephony.CellularCall = true
const.SystemCapability.Telephony.CellularData = true
const.SystemCapability.Telephony.StateRegistry = true
const.SystemCapability.Multimedia.AVSession.AVCast = true
const.SystemCapability.Multimedia.AVSession.Core = true
const.SystemCapability.Multimedia.AVSession.ExtendedDisplayCast = true
const.SystemCapability.Multimedia.AVSession.Manager = true
const.SystemCapability.Multimedia.Audio.Capturer = true
const.SystemCapability.Multimedia.Audio.Core = true
const.SystemCapability.Multimedia.Audio.Tone = true
const.SystemCapability.Multimedia.Audio.Device = true
const.SystemCapability.Multimedia.Audio.Volume = true
const.SystemCapability.Multimedia.Audio.Renderer = true
const.SystemCapability.Multimedia.Audio.Communication = true
const.SystemCapability.Multimedia.Audio.Interrupt = true
const.SystemCapability.Multimedia.Audio.PlaybackCapture = true
const.SystemCapability.Multimedia.Audio.Spatialization = true
const.SystemCapability.Multimedia.Drm.Core = true
const.SystemCapability.Multimedia.Image.Core = true
const.SystemCapability.Multimedia.Image.ImageCreator = true
const.SystemCapability.Multimedia.Image.ImagePacker = true
const.SystemCapability.Multimedia.Image.ImageSource = true
const.SystemCapability.Multimedia.Image.ImageReceiver = true
const.SystemCapability.Multimedia.Media.AVImageGenerator = true
const.SystemCapability.Multimedia.Media.AVPlayer = true
const.SystemCapability.Multimedia.Media.Core = true
const.SystemCapability.Multimedia.Media.Muxer = true
const.SystemCapability.Multimedia.Media.Spliter = true
const.SystemCapability.Multimedia.Media.AVRecorder = true
const.SystemCapability.Multimedia.Media.AudioCodec = true
const.SystemCapability.Multimedia.Media.CodecBase = true
const.SystemCapability.Multimedia.Media.SoundPool = true
const.SystemCapability.Multimedia.Media.AVScreenCapture = true
const.SystemCapability.Multimedia.Media.AVTranscoder = true
const.SystemCapability.Multimedia.Media.AudioDecoder = true
const.SystemCapability.Multimedia.Media.AudioEncoder = true
const.SystemCapability.Multimedia.Media.AudioPlayer = true
const.SystemCapability.Multimedia.Media.VideoPlayer = true
const.SystemCapability.Multimedia.Media.VideoDecoder = true
const.SystemCapability.Multimedia.Media.VideoEncoder = true
const.SystemCapability.Multimedia.Media.AudioRecorder = true
const.SystemCapability.Multimedia.Media.VideoRecorder = true
const.SystemCapability.Multimedia.Media.AVMetadataExtractor = true
const.SystemCapability.Multimedia.Camera.Core = true
const.SystemCapability.Multimedia.AudioHaptic.Core = true
const.SystemCapability.Multimedia.ImageEffect.Core = true
const.SystemCapability.Multimedia.SystemSound.Core = true
const.SystemCapability.Multimedia.MediaLibrary.Core = true
const.SystemCapability.Multimedia.MediaLibrary.DistributedCore = true
const.SystemCapability.Multimedia.VideoProcessingEngine = true
const.SystemCapability.Applications.CalendarData = true
const.SystemCapability.Applications.Contacts = true
const.SystemCapability.Applications.Settings.Core = true
const.SystemCapability.Applications.ContactsData = true
const.SystemCapability.Developtools.Syscap = true
const.SystemCapability.MiscServices.Download = true
const.SystemCapability.MiscServices.Time = true
const.SystemCapability.MiscServices.Upload = true
const.SystemCapability.MiscServices.InputMethodFramework = true
const.SystemCapability.MiscServices.Pasteboard = true
const.SystemCapability.MiscServices.ScreenLock = true
const.SystemCapability.MiscServices.Wallpaper = true
const.SystemCapability.Notification.CommonEvent = true
const.SystemCapability.Notification.Emitter = true
const.SystemCapability.Notification.Notification = true
const.SystemCapability.Notification.NotificationSettings = true
const.SystemCapability.Notification.ReminderAgent = true
const.SystemCapability.PowerManager.BatteryManager.Core = true
const.SystemCapability.PowerManager.BatteryManager.Extension = true
const.SystemCapability.PowerManager.PowerManager.Core = true
const.SystemCapability.PowerManager.PowerManager.Extension = true
const.SystemCapability.PowerManager.ThermalManager = true
const.SystemCapability.PowerManager.BatteryStatistics = true
const.SystemCapability.PowerManager.DisplayPowerManager = true
const.SystemCapability.PowerManager.DisplayPowerManager.Lite = true
const.SystemCapability.BundleManager.AppDomainVerify = true
const.SystemCapability.BundleManager.BundleFramework = true
const.SystemCapability.BundleManager.BundleFramework.AppControl = true
const.SystemCapability.BundleManager.BundleFramework.Core = true
const.SystemCapability.BundleManager.BundleFramework.DefaultApp = true
const.SystemCapability.BundleManager.BundleFramework.Launcher = true
const.SystemCapability.BundleManager.BundleFramework.Overlay = true
const.SystemCapability.BundleManager.BundleFramework.Resource = true
const.SystemCapability.BundleManager.BundleFramework.FreeInstall = true
const.SystemCapability.BundleManager.Zlib = true
const.SystemCapability.BundleManager.DistributedBundleFramework = true
const.SystemCapability.BundleManager.EcologicalRuleManager = true
const.SystemCapability.Communication.Bluetooth.Core = true
const.SystemCapability.Communication.Bluetooth.Lite = true
const.SystemCapability.Communication.IPC.Core = true
const.SystemCapability.Communication.NetStack = true
const.SystemCapability.Communication.SoftBus.Core = true
const.SystemCapability.Communication.WiFi.AP.Core = true
const.SystemCapability.Communication.WiFi.Core = true
const.SystemCapability.Communication.WiFi.P2P = true
const.SystemCapability.Communication.WiFi.STA = true
const.SystemCapability.Communication.NetManager.Core = true
const.SystemCapability.Communication.NetManager.MDNS = true
const.SystemCapability.Communication.NetManager.Vpn = true
const.SystemCapability.Communication.NetManager.Ethernet = true
const.SystemCapability.Communication.NetManager.NetFirewall = true
const.SystemCapability.Communication.NetManager.NetSharing = true
const.SystemCapability.Customization.ConfigPolicy = true
const.SystemCapability.Customization.CustomConfig = true
const.SystemCapability.Customization.EnterpriseDeviceManager = true
const.SystemCapability.WindowManager.WindowManager.Core = true
const.SystemCapability.DistributedDataManager.CloudSync.Client = true
const.SystemCapability.DistributedDataManager.CloudSync.Config = true
const.SystemCapability.DistributedDataManager.CloudSync.Server = true
const.SystemCapability.DistributedDataManager.DataShare.Consumer = true
const.SystemCapability.DistributedDataManager.DataShare.Core = true
const.SystemCapability.DistributedDataManager.DataShare.Provider = true
const.SystemCapability.DistributedDataManager.KVStore.Core = true
const.SystemCapability.DistributedDataManager.KVStore.DistributedKVStore = true
const.SystemCapability.DistributedDataManager.UDMF.Core = true
const.SystemCapability.DistributedDataManager.CommonType = true
const.SystemCapability.DistributedDataManager.DataObject.DistributedObject = true
const.SystemCapability.DistributedDataManager.Preferences.Core = true
const.SystemCapability.DistributedDataManager.Preferences.Core.Lite = true
const.SystemCapability.DistributedDataManager.RelationalStore.Core = true
const.SystemCapability.DistributedHardware.DeviceManager = true
const.SystemCapability.DistributedHardware.DistributedHardwareFWK = true
const.SystemCapability.FileManagement.AppFileService = true
const.SystemCapability.FileManagement.AppFileService.FolderAuthorization = true
const.SystemCapability.FileManagement.File.DistributedFile = true
const.SystemCapability.FileManagement.File.Environment = true
const.SystemCapability.FileManagement.File.Environment.FolderObtain = true
const.SystemCapability.FileManagement.File.FileIO = true
const.SystemCapability.FileManagement.File.FileIO.Lite = true
const.SystemCapability.FileManagement.StorageService.Backup = true
const.SystemCapability.FileManagement.StorageService.Volume = true
const.SystemCapability.FileManagement.StorageService.Encryption = true
const.SystemCapability.FileManagement.StorageService.SpatialStatistics = true
const.SystemCapability.FileManagement.DistributedFileService.CloudSync.Core = true
const.SystemCapability.FileManagement.DistributedFileService.CloudSyncManager = true
const.SystemCapability.FileManagement.PhotoAccessHelper.Core = true
const.SystemCapability.FileManagement.UserFileManager.Core = true
const.SystemCapability.FileManagement.UserFileManager.DistributedCore = true
const.SystemCapability.FileManagement.UserFileService = true
const.SystemCapability.FileManagement.UserFileService.FolderSelection = true
const.SystemCapability.MultimodalInput.Input.Cooperator = true
const.SystemCapability.MultimodalInput.Input.Core = true
const.SystemCapability.MultimodalInput.Input.Pointer = true
const.SystemCapability.MultimodalInput.Input.ShortKey = true
const.SystemCapability.MultimodalInput.Input.InfraredEmitter = true
const.SystemCapability.MultimodalInput.Input.InputConsumer = true
const.SystemCapability.MultimodalInput.Input.InputDevice = true
const.SystemCapability.MultimodalInput.Input.InputMonitor = true
const.SystemCapability.MultimodalInput.Input.InputSimulator = true
const.SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask = true
const.SystemCapability.ResourceSchedule.BackgroundTaskManager.TransientTask = true
const.SystemCapability.ResourceSchedule.BackgroundTaskManager.EfficiencyResourcesApply = true
const.SystemCapability.ResourceSchedule.DeviceStandby = true
const.SystemCapability.ResourceSchedule.SystemLoad = true
const.SystemCapability.ResourceSchedule.WorkScheduler = true
const.SystemCapability.ResourceSchedule.UsageStatistics.App = true
const.SystemCapability.ResourceSchedule.UsageStatistics.AppGroup = true
const.SystemCapability.Resourceschedule.Ffrt.Core = true
const.max_native_child_process = 0
const.distributed_file_only_for_same_account_test = true
musl.log.enable = true
musl.log.ld.all = true
hilog.private.on = true
hilog.debug.on = false
hilog.flowctrl.proc.on = false
hilog.flowctrl.domain.on = false
hilog.loggable.global = I
hilog.buffersize.global = 262144
ffrt.interval.ui = false
ffrt.interval.renderservice = false
ffrt.interval.slide = false
ffrt.interval.limit = false
libc.hook_mode =
print.cupsd.ready = false
input.pointer.device = false
debug.hitrace.tags.enableflags = 0
debug.hitrace.app_pid = -1
composerhost.drm.master.ready = true
security.perf_harden = 1
persist.thermal.log.enable = true
persist.thermal.log.width = 20
persist.thermal.log.interval = 5000
persist.sys.usb.config = hdc
persist.sys.syncDensityWithUI = true
persist.sys.hilog.kmsg.on = true
persist.sys.hilog.debug.on = false
persist.sys.abilityms.support.ecologicalrulemgrservice = true
persist.sys.abilityms.inherit_window_split_screen_mode = true
persist.sys.abilityms.support_anco_app = false
persist.sys.abilityms.timeout_unit_time_ratio = 1
persist.sys.abilityms.multi_process_model = false
persist.sys.abilityms.prevent_startability = true
persist.sys.abilityms.selector_dialog_possion = true
persist.sys.abilityms.start_specified_process = false
persist.sys.abilityms.use_multi_render_process = true
persist.sys.abilityms.limit_maximum_of_render_process = true
persist.sys.abilityms.grant_persist_uri_permission = false
persist.sys.abilityms.start_options_with_animation = false
persist.sys.abilityms.start_options_with_process_option = false
persist.sys.abilityms.move_ui_ability_to_background_api_enable = true
persist.sys.default_ime = com.example.kikakeyboard/ServiceExtAbility
persist.sys.font_scale_for_user0 = 1.0
persist.sys.prepare_terminate = false
persist.sys.font_scale_for_user.100 = 1.0
persist.sys.font_wght_scale_for_user0 = 1.0
persist.sys.font_wght_scale_for_user.100 = 1.0
persist.usb.setting.gadget_conn_prompt = true
persist.vendor.primaryscreen.orientation = 0
persist.vendor.expandscreen.orientation = 0
persist.edm.edm_enable = false
persist.edm.location_policy = none
persist.edm.mic_disable = false
persist.hdc.mode = tcp
persist.hdc.mode.usb = enable
persist.hdc.mode.tcp = enable
persist.hdc.mode.uart = disable
persist.hdc.port = 6780
persist.hdc.jdwp = 0
persist.qos.configReadLog = false
persist.init.bootevent.enable = true
persist.time.timezone = Asia/Shanghai
persist.time.ntpserver = 1.cn.pool.ntp.org
persist.time.ntpserver_specific =
persist.time.auto_time = ON
persist.time.auto_restore_timer_apps =
persist.ace.darkmode = light
persist.ace.darkmode.100 = light
persist.wifi.country_code.dynamic_update = CN
persist.wifi.is_connect_from_user = -1
persist.prop.dlna.run.state = started
persist.samgr.perf.ondemand = false
persist.samgr.cache.sa = 25889
persist.samgr.moduleupdate.start = false
persist.ffrt.interval.renderthread = true
persist.ffrt.interval.appRate = 60
persist.ffrt.interval.rsRate = 60
persist.kernel.cloudsync.network_unavailable = false
persist.kernel.cloudsync.battery_level_low = false
persist.kernel.cloudsync.status = 0
persist.kernel.cloudsync.temperature_abnormal_sync = false
persist.kernel.cloudsync.temperature_abnormal_thumb = false
persist.kernel.move.finish = false
persist.kernel.medialibrarydata.stopflag = 1
persist.useriam.enable.fingerprintauth = true
persist.global.language = zh-Hans
persist.global.locale = zh-Hans-CN
persist.global.is24Hour =
persist.global.preferredLanguages =
persist.global.tz_override = false
persist.resourceschedule.memmgr.eswap.permanently.closed = 0
persist.resourceschedule.memmgr.eswap.minsToday = 0
persist.resourceschedule.memmgr.eswap.swapOutKBToday = 0
persist.resourceschedule.memmgr.eswap.minsFromBirth = 0
persist.resourceschedule.memmgr.eswap.swapOutKBFromBirth = 0
persist.multimedia.medialibrary.rdb_hamode = 0
persist.multimedia.medialibrary.rdb_switch_status = 0
persist.multimedia.audio.ringtonevolume = 7
persist.multimedia.audio.safevolume = 15
persist.multimedia.audio.safevolume.timeout = 1140
persist.multimedia.audioflag.forceipc.capturer = 1
persist.multimedia.gkaudio.musicvolume = 7
persist.multimedia.mediafoundation.aggregationfrequency = 1000
persist.multimedia.mediafoundation.aggregationtime = 1440
persist.location.switch_mode = 2
persist.ringtone.setting.ringtone =
persist.ringtone.setting.shot =
persist.ringtone.setting.shot2 =
persist.ringtone.setting.ringtone2 =
persist.ringtone.setting.notification =
persist.account.login_name_max = 256
persist.display.expand.enabled = 1
persist.powermgr.stopservice = false
persist.qosmanager.setQos.on = true
persist.telephony.imsswitch0 = 1
persist.hiviewdfx.priv.sysevent.backup_time = 20260116
persist.backupservice.workstatus = true
persist.moduleupdate.bms.scan = false
persist.uiAppearance.first_initialization = 0
persist.arkwebcore.install_path = /system/app/com.ohos.arkwebcore/ArkWebCore.hap
persist.arkwebcore.package_name = com.ohos.arkwebcore
persist.filemanagement.usb.readonly = false
persist.graphic_standard.capturemode = display
persist.graphic_standard.virtualprocessosmode = graphic
backup.debug.overrideExtensionConfig = false
backup.debug.overrideAccountConfig = false
backup.debug.overrideAccountNumber = 0
backup.overrideBackupSARelease = true
backup.overrideIncrementalRestore = true
startup.service.ctl.ueventd = 2
startup.service.ctl.ueventd.pid = 2228
startup.service.ctl.hilogd = 2
startup.service.ctl.hilogd.pid = 2885
startup.service.ctl.samgr = 2
startup.service.ctl.samgr.pid = 2895
startup.service.ctl.tvmw = 2
startup.service.ctl.tvmw.pid = 2901
startup.service.ctl.hdcd = 2
startup.service.ctl.hdcd.pid = 3780
startup.service.ctl.hiview = 2
startup.service.ctl.hiview.pid = 2899
startup.service.ctl.useriam = 2
startup.service.ctl.useriam.pid = 3264
startup.service.ctl.watchdog_service = 2
startup.service.ctl.watchdog_service.pid = 2229
startup.service.ctl.faultloggerd = 2
startup.service.ctl.faultloggerd.pid = 2881
startup.service.ctl.key_enable = 5
startup.service.ctl.key_enable.pid = 2883
startup.service.ctl.appspawn = 2
startup.service.ctl.appspawn.pid = 2900
startup.service.ctl.msdp_sa = 2
startup.service.ctl.msdp_sa.pid = 3210
startup.service.ctl.sensors = 2
startup.service.ctl.sensors.pid = 3491
startup.service.ctl.pinauth = 2
startup.service.ctl.pinauth.pid = 3914
startup.service.ctl.usb_host = 2
startup.service.ctl.usb_host.pid = 3246
startup.service.ctl.powermgr = 2
startup.service.ctl.powermgr.pid = 3512
startup.service.ctl.installs = 5
startup.service.ctl.installs.pid = 0
startup.service.ctl.netmanager = 2
startup.service.ctl.netmanager.pid = 3150
startup.service.ctl.wifi_host = 2
startup.service.ctl.wifi_host.pid = 3242
startup.service.ctl.power_host = 2
startup.service.ctl.power_host.pid = 3245
startup.service.ctl.blue_host = 2
startup.service.ctl.blue_host.pid = 3247
startup.service.ctl.dhardware = 5
startup.service.ctl.dhardware.pid = 0
startup.service.ctl.ui_service = 2
startup.service.ctl.ui_service.pid = 3263
startup.service.ctl.backup_sa = 5
startup.service.ctl.backup_sa.pid = 0
startup.service.ctl.updater_sa = 5
startup.service.ctl.updater_sa.pid = 0
startup.service.ctl.light_host = 2
startup.service.ctl.light_host.pid = 3236
startup.service.ctl.hdf_devmgr = 2
startup.service.ctl.hdf_devmgr.pid = 2894
startup.service.ctl.huks_service = 2
startup.service.ctl.huks_service.pid = 3012
startup.service.ctl.telephony_sa = 2
startup.service.ctl.telephony_sa.pid = 3132
startup.service.ctl.time_service = 2
startup.service.ctl.time_service.pid = 3199
startup.service.ctl.codec_host = 2
startup.service.ctl.codec_host.pid = 3233
startup.service.ctl.foundation = 2
startup.service.ctl.foundation.pid = 3279
startup.service.ctl.sensor_host = 2
startup.service.ctl.sensor_host.pid = 3238
startup.service.ctl.audio_host = 2
startup.service.ctl.audio_host.pid = 3241
startup.service.ctl.av_session = 2
startup.service.ctl.av_session.pid = 3301
startup.service.ctl.accountmgr = 2
startup.service.ctl.accountmgr.pid = 3386
startup.service.ctl.usb_service = 2
startup.service.ctl.usb_service.pid = 3613
startup.service.ctl.camera_host = 2
startup.service.ctl.camera_host.pid = 3240
startup.service.ctl.drm_service = 2
startup.service.ctl.drm_service.pid = 3516
startup.service.ctl.ohos_ir_user = 2
startup.service.ctl.ohos_ir_user.pid = 3190
startup.service.ctl.netsysnative = 2
startup.service.ctl.netsysnative.pid = 3252
startup.service.ctl.storage_manager = 2
startup.service.ctl.storage_manager.pid = 2896
startup.service.ctl.storage_daemon = 2
startup.service.ctl.storage_daemon.pid = 2897
startup.service.ctl.param_watcher = 2
startup.service.ctl.param_watcher.pid = 2898
startup.service.ctl.audio_server = 2
startup.service.ctl.audio_server.pid = 3042
startup.service.ctl.dslm_service = 5
startup.service.ctl.dslm_service.pid = 0
startup.service.ctl.vibrator_host = 2
startup.service.ctl.vibrator_host.pid = 3237
startup.service.ctl.write_updater = 5
startup.service.ctl.write_updater.pid = 3257
startup.service.ctl.pin_auth_host = 2
startup.service.ctl.pin_auth_host.pid = 3255
startup.service.ctl.pq_alg_server = 5
startup.service.ctl.pq_alg_server.pid = 3385
startup.service.ctl.memmgrservice = 2
startup.service.ctl.memmgrservice.pid = 3013
startup.service.ctl.accessibility = 2
startup.service.ctl.accessibility.pid = 3018
startup.service.ctl.asset_service = 2
startup.service.ctl.asset_service.pid = 3020
startup.service.ctl.composer_host = 2
startup.service.ctl.composer_host.pid = 3249
startup.service.ctl.media_monitor = 2
startup.service.ctl.media_monitor.pid = 3295
startup.service.ctl.media_service = 2
startup.service.ctl.media_service.pid = 3501
startup.service.ctl.deviceprofile = 2
startup.service.ctl.deviceprofile.pid = 4821
startup.service.ctl.bootanimation = 5
startup.service.ctl.bootanimation.pid = 3510
startup.service.ctl.user_auth_host = 2
startup.service.ctl.user_auth_host.pid = 3231
startup.service.ctl.face_auth_host = 2
startup.service.ctl.face_auth_host.pid = 3232
startup.service.ctl.softbus_server = 2
startup.service.ctl.softbus_server.pid = 3278
startup.service.ctl.security_guard = 2
startup.service.ctl.security_guard.pid = 3503
startup.service.ctl.render_service = 2
startup.service.ctl.render_service.pid = 3511
startup.service.ctl.hdf_ext_devmgr = 2
startup.service.ctl.hdf_ext_devmgr.pid = 3617
startup.service.ctl.allocator_host = 2
startup.service.ctl.allocator_host.pid = 3248
startup.service.ctl.camera_service = 2
startup.service.ctl.camera_service.pid = 3507
startup.service.ctl.device_manager = 2
startup.service.ctl.device_manager.pid = 3515
startup.service.ctl.vn_audio_server = 2
startup.service.ctl.vn_audio_server.pid = 3250
startup.service.ctl.wifi_hal_service = 2
startup.service.ctl.wifi_hal_service.pid = 2998
startup.service.ctl.multimodalinput = 2
startup.service.ctl.multimodalinput.pid = 3027
startup.service.ctl.riladapter_host = 2
startup.service.ctl.riladapter_host.pid = 3235
startup.service.ctl.privacy_service = 2
startup.service.ctl.privacy_service.pid = 3302
startup.service.ctl.input_user_host = 2
startup.service.ctl.input_user_host.pid = 3239
startup.service.ctl.cloudfiledaemon = 5
startup.service.ctl.cloudfiledaemon.pid = 17234
startup.service.ctl.distributeddata = 2
startup.service.ctl.distributeddata.pid = 3266
startup.service.ctl.download_server = 2
startup.service.ctl.download_server.pid = 4250
startup.service.ctl.check_module_update = 5
startup.service.ctl.check_module_update.pid = 2872
startup.service.ctl.deviceauth_service = 2
startup.service.ctl.deviceauth_service.pid = 3014
startup.service.ctl.bluetooth_service = 2
startup.service.ctl.bluetooth_service.pid = 3016
startup.service.ctl.wallpaper_service = 2
startup.service.ctl.wallpaper_service.pid = 3118
startup.service.ctl.av_codec_service = 2
startup.service.ctl.av_codec_service.pid = 3256
startup.service.ctl.cloudfileservice = 5
startup.service.ctl.cloudfileservice.pid = 0
startup.service.ctl.distributedsched = 5
startup.service.ctl.distributedsched.pid = 0
startup.service.ctl.deviceinfoservice = 2
startup.service.ctl.deviceinfoservice.pid = 17208
startup.service.ctl.mmi_uinput_service = 2
startup.service.ctl.mmi_uinput_service.pid = 3023
startup.service.ctl.bgtaskmgr_service = 2
startup.service.ctl.bgtaskmgr_service.pid = 3200
startup.service.ctl.inputmethod_service = 2
startup.service.ctl.inputmethod_service.pid = 3269
startup.service.ctl.el5_filekey_manager = 5
startup.service.ctl.el5_filekey_manager.pid = 0
startup.service.ctl.intell_voice_service = 5
startup.service.ctl.intell_voice_service.pid = 0
startup.service.ctl.accesstoken_service = 2
startup.service.ctl.accesstoken_service.pid = 3253
startup.service.ctl.wifi_manager_service = 2
startup.service.ctl.wifi_manager_service.pid = 4118
startup.service.ctl.resource_schedule_executor = 2
startup.service.ctl.resource_schedule_executor.pid = 3015
startup.service.ctl.concurrent_task_service = 2
startup.service.ctl.concurrent_task_service.pid = 3017
startup.service.ctl.fingerprint_auth_host = 2
startup.service.ctl.fingerprint_auth_host.pid = 3230
startup.service.ctl.cert_manager_service = 2
startup.service.ctl.cert_manager_service.pid = 4381
startup.service.ctl.dlp_permission_service = 5
startup.service.ctl.dlp_permission_service.pid = 0
startup.service.ctl.sandbox_manager_service = 5
startup.service.ctl.sandbox_manager_service.pid = 0
startup.service.ctl.resource_schedule_service = 2
startup.service.ctl.resource_schedule_service.pid = 3019
startup.service.ctl.app_domain_verify_agent = 5
startup.service.ctl.app_domain_verify_agent.pid = 0
fscrypt.policy.config = 2:aes-256-cts:aes-256-xts
bootevent.hdf_devmgr.ready = true
bootevent.account.ready = true
bootevent.useriam.fwkready = true
bootevent.wms.fullscreen.ready = true
bootevent.wms.ready = true
bootevent.appfwk.ready = true
bootevent.bms.main.bundles.ready = true
bootevent.samgr.ready = true
bootevent.boot.completed = true
bootevent.appspawn.started = true
bootevent.launcher.ready = true
bootevent.lockscreen.ready = true
bootevent.bootanimation.ready = true
bootevent.bootanimation.started = true
bootevent.bootanimation.finished = true
bootevent.param_watcher.started = true
bootevent.renderservice.ready = true
bootevent.avsessionservice.ready = true
hiviewdfx.hichecker = 0
hiviewdfx.hiperf.perf_event_max_sample_rate = 100000
hiviewdfx.hiperf.perf_cpu_time_max_percent = 25
hiviewdfx.hiperf.perf_event_mlock_kb = 516
hiviewdfx.hiprofiler.profilerd.start = 0
hiviewdfx.hiprofiler.plugins.start = 0
hiviewdfx.hiprofiler.native_memoryd.start = 0
hiviewdfx.hiprofiler.memprofiler.start = 0
hiviewdfx.hiprofiler.ffrtprofiler.target =
hiviewdfx.hiprofiler.networkprofiler.target =
ringtone.scanner.completed = false
telephony.sim.opkey0 = -1
telephony.sim.opkey1 = -1
component.startup.newRules = true
component.startup.newRules.except.LauncherSystemUI = true
component.startup.backgroundJudge.flag = true
component.startup.whitelist.associatedWakeUp = true
component.startup.extension.multiprocess.enable = false
component.startup.extension.multiprocess.whitelist = com.ohos.systemui;com.ohos.launcher;com.ohos.sceneboard;
accesstoken.permission.change = 0
accesstoken.permission.init = 1
multimedia.medialibrary.startup.100 = true
faultloggerd.priv.mixstack.enabled = true
faultloggerd.priv.block_crash_process.enabled = false
notification.ces.check.sa.permission = false
notification.ans.check.sa.permission = false
accessibility.config.ready = true
注:pcid文件位于/system/etc目录下,可通过hdc file recv /system/etc/pcid.sc指令获取;
3.报告上传
#1.镜像文件,实际上除了镜像文件以外,还需要向兼容性测试工作组提供镜像烧录指导、烧录工具(如需)、测试补充说明(如需)
#2.XTS报告,需要严格遵循官网指导,将测试报告的命名方式修改为report1、.....reportn,并将不同模块分别放置于一级目录ACTS/ACTS-Validator/DCTS/HATS/SSTS下;
#3.PCS自检表,可从官网下载,除了需要筛选出最小测试集以外,“OpenHarmony标准系统兼容性规范”当中,也需要将“自检结果”和具体规格描述填写完毕;
#4.测评豁免申请,这里会自动展示出你提交的豁免申请数量及状态,注意核对;
4.样机寄送
#此处需要填写快递给兼容性测试工作组的相关工具材料(测试样机、烧录工具如串口工具等、遥控器等),并备注好相关信息
4.2关于提交豁免申请
①提交兼容性测评官网
www.openharmony.cn/compatibili…
②豁免申请填写注意事项
因当前豁免申请一经提交,无法撤回或修改,沟通兼容性测试工作组驳回再行修改非常耗时,因此提交申请前请严格核对填写信息
如下展示了空白申请和填写完整的豁免申请内容,注意事项如下
1.测评编号填写4.1当中提交的测评流程对应编号;
2.操作系统类型,一般选择标准系统;
3.操作系统版本号,通过begetctl dump api可以获取到相关系统参数,填写OsFullName对应字段值;
4.豁免类型选择XTS报告豁免;(授权验证这已项,XTS兼容性测试工作组建议直接选择豁免,不影响测评结果,豁免理由是:未集成);
5.测试套分类,当前需要申请豁免的模块/测试套/测试用例属于ACTS/HATS/DCTS/SSTS/Acts-Validator中的哪个,就选择哪个;
6.模块名称,注意一个申请流程只能对应填写一个module;
7.测试套名称,同上,一个申请流程只能对应填写一个测试套;即同一个module下若存在2个及以上的测试套,需要分开提交;
8.测试用例名称,若需要豁免一整个module或者一整个测试套,可不填写此项;若单独豁免某几个用例(必须属于同一module和同一测试套),填写时,测试用例间以英文逗号分隔,注意不要带上module或测试套信息;
9.豁免原因,大概写清楚申请豁免的理由;
10.豁免附件,需要写清楚申请豁免的测试用例(所属module、测试套、测试用例名称)基本内容,测试失败的日志及根因分析,申请豁免的理由等(如硬件未支持、测试套件本身的问题等)