diff --git a/recipes-openharmony/openharmony/openharmony-standard-sources-3.0.inc b/recipes-openharmony/openharmony/openharmony-standard-sources-3.0.inc
index e1441ad98182b278a8e70f7ac7cbe499c0b98ae9..d2dc7c5c8f7294b3d2b8385a1077fdfe152a0fcf 100644
--- a/recipes-openharmony/openharmony/openharmony-standard-sources-3.0.inc
+++ b/recipes-openharmony/openharmony/openharmony-standard-sources-3.0.inc
@@ -91,6 +91,9 @@ SRC_URI += "${GITEE_URL}/multimedia_media_standard.git;protocol=https;nobranch=1
 SRC_URI += "${GITEE_URL}/multimodalinput_input.git;protocol=https;nobranch=1;branch=OpenHarmony-v3.0.1-LTS;rev=6da800f688c139e8b0bb806ca6655f97a6591c0e;destsuffix=${OH_SRCDIR}/foundation/multimodalinput/input"
 SRC_URI += "${GITEE_URL}/productdefine_common.git;protocol=https;nobranch=1;branch=OpenHarmony-v3.0.1-LTS;rev=7b9be5277930ab8b77c6eeb6fc8d63535767ccb0;destsuffix=${OH_SRCDIR}/productdefine/common"
 SRC_URI += "${GITEE_URL}/test_developertest.git;protocol=https;nobranch=1;branch=OpenHarmony-v3.0.1-LTS;rev=151309bf6cdc7e31493a3461d3c7f17a1b371c09;destsuffix=${OH_SRCDIR}/test/developertest"
+SRC_URI += "${GITEE_URL}/test_xdevice.git;protocol=https;nobranch=1;branch=OpenHarmony-v3.0.1-LTS;rev=b0845abc4da7c5deef3335f7052ec9fa29ef4c34;destsuffix=${OH_SRCDIR}/test/xdevice"
+SRC_URI += "${GITEE_URL}/xts_acts.git;protocol=https;nobranch=1;branch=OpenHarmony-v3.0.1-LTS;rev=327e88c1285344dc1aad3ee14404307e52d9e965;destsuffix=${OH_SRCDIR}/test/xts/acts"
+SRC_URI += "${GITEE_URL}/xts_tools_full.git;protocol=https;nobranch=1;branch=OpenHarmony-v3.0.1-LTS;rev=45ec1d2b5abf912aedbe117f8818e8fbbed513f4;destsuffix=${OH_SRCDIR}/test/xts/tools"
 SRC_URI += "${GITEE_URL}/third_party_abseil-cpp.git;protocol=https;nobranch=1;branch=OpenHarmony-v3.0.1-LTS;rev=ada6ca6fdd88d2ba3e74fb3fd31eee4051be5fbb;destsuffix=${OH_SRCDIR}/third_party/abseil-cpp"
 SRC_URI += "${GITEE_URL}/third_party_boringssl.git;protocol=https;nobranch=1;branch=OpenHarmony-v3.0.1-LTS;rev=c92e20647d2944be8294e1650481bee91dbab14e;destsuffix=${OH_SRCDIR}/third_party/boringssl;lfs=0"
 SRC_URI += "${GITEE_URL}/third_party_bounds_checking_function.git;protocol=https;nobranch=1;branch=OpenHarmony-v3.0.1-LTS;rev=dfa450f1a4f3bee9937e83f12ec878e54fc830ec;destsuffix=${OH_SRCDIR}/third_party/bounds_checking_function"
diff --git a/recipes-openharmony/openharmony/openharmony-standard_3.0.bb b/recipes-openharmony/openharmony/openharmony-standard_3.0.bb
index b88365bb72ed2acb65ff355e0a0ca416f49d10df..2c647006d28d192b122ca42c8bf59ce9cd22205f 100644
--- a/recipes-openharmony/openharmony/openharmony-standard_3.0.bb
+++ b/recipes-openharmony/openharmony/openharmony-standard_3.0.bb
@@ -104,6 +104,9 @@ GN_ARGS += 'musl_arch="${MUSL_LDSO_ARCH}"'
 GN_ARGS += "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'remove_unstripped_execs=true', '', d)}"
 GN_ARGS += "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'remove_unstripped_so=true', '', d)}"
 
+# Build ACTS only when acts DISTRO_FEATURE is set
+GN_ARGS += "${@bb.utils.contains('DISTRO_FEATURES', 'acts', 'build_xts=true', '', d)}"
+
 #BUILD_CXXFLAGS:prepend = "-Wno-error=pedantic -Uunix "
 #TARGET_CXXFLAGS:prepend = "-D__MUSL__ -Wno-unused-but-set-variable "
 #TARGET_CFLAGS:prepend = "-D__MUSL__ -DHAVE_VERSIONSORT -Wno-unused-but-set-variable "
@@ -113,6 +116,9 @@ GN_ARGS += "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'remove_unstripped_
 NINJA_ARGS = "packages"
 NINJA_ARGS += "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'make_test', '', d)}"
 
+# Build ACTS only when acts DISTRO_FEATURE is set
+NINJA_ARGS += "${@bb.utils.contains('DISTRO_FEATURES', 'acts', 'acts deploy_testtools', '', d)}"
+
 # Copy FlexLexer.h from recipe sysroot
 do_copy_to_srcdir() {
     cp ${RECIPE_SYSROOT_NATIVE}/usr/include/FlexLexer.h \
@@ -293,6 +299,9 @@ OPENHARMONY_PARTS += "telephony:core_service"
 OPENHARMONY_PARTS += "telephony:ril_adapter"
 OPENHARMONY_PARTS += "utils:utils_base"
 
+OPENHARMONY_PARTS += "${@bb.utils.contains('DISTRO_FEATURES', 'acts', 'xts:phone_tests', '', d)}"
+export XTS_SUITENAME = "${@bb.utils.contains('DISTRO_FEATURES', 'acts', 'acts', '', d)}"
+
 python generate_parts_json() {
     # parts.json file is used by the loader.py tool to generate BUILD.gn files
     # for all required "parts" basing on ohos.build files that accompany