From 102c1dcc30759b2e9f98f1b831c5dc03830081a9 Mon Sep 17 00:00:00 2001 From: bigpumpkin Date: Thu, 24 Feb 2022 08:52:29 +0000 Subject: [PATCH 1/8] Signed-off-by: @bigpumpkin --- BUILD.gn | 59 ++++++++++++++++++++ bundle.json | 3 + interfaces/innerkits/include/client_socket.h | 2 + src/appspawn_server.cpp | 33 +++++++++++ src/include/appspawn_server.h | 3 + src/main.cpp | 4 ++ src/socket/appspawn_socket.cpp | 15 ++++- src/socket/server_socket.cpp | 8 ++- webviewspawn.cfg | 19 +++++++ 9 files changed, 142 insertions(+), 4 deletions(-) create mode 100644 webviewspawn.cfg diff --git a/BUILD.gn b/BUILD.gn index 9c138af0..66ec9416 100755 --- a/BUILD.gn +++ b/BUILD.gn @@ -34,6 +34,7 @@ config("appspawn_config") { "${aafwk_path}/services/abilitymgr/include", "${distributedschedule_path}/services/dtbschedmgr/include", "//base/security/access_token/interfaces/innerkits/token_setproc/include", + "//base/startup/init_lite/interfaces/innerkits/include", ] if (build_selinux) { @@ -94,3 +95,61 @@ ohos_prebuilt_etc("appspawn.rc") { subsystem_name = "${subsystem_name}" part_name = "${part_name}" } + +ohos_executable("webviewspawn") { + defines = [ "WEBVIEW_SPAWN" ] + sources = [ "${appspawn_path}/src/main.cpp" ] + configs = [ ":appspawn_config" ] + deps = [ + "${appspawn_path}:webviewspawn_server", + "${appspawn_path}:webviewspawn.rc", + "//base/security/access_token/interfaces/innerkits/token_setproc:libtoken_setproc", + ] + external_deps = [ "hiviewdfx_hilog_native:libhilog" ] + + install_enable = true + subsystem_name = "${subsystem_name}" + part_name = "${part_name}" +} + +ohos_static_library("webviewspawn_server") { + defines = [ "WEBVIEW_SPAWN" ] + sources = [ + "${appspawn_path}/src/appspawn_msg_peer.cpp", + "${appspawn_path}/src/appspawn_server.cpp", + "${appspawn_path}/src/socket/appspawn_socket.cpp", + "${appspawn_path}/src/socket/server_socket.cpp", + ] + configs = [ ":appspawn_config" ] + ldflags = [ "-Wl,--dynamic-linker,/system/bin/linker64z" ] + deps = [ + "${aafwk_path}/frameworks/kits/ability/native:abilitykit_native", + "${aafwk_path}/frameworks/kits/appkit:appkit_native", + "//utils/native/base:utils", + "//base/startup/init_lite/interfaces/innerkits/socket:libsocket_static", + ] + external_deps = [ + "ability_base:want", + "bundle_framework:appexecfwk_base", + "bundle_framework:appexecfwk_core", + "hilog_native:libhilog", + "hiviewdfx_hilog_native:libhilog", + "ipc:ipc_core", + "safwk:system_ability_fwk", + "samgr_standard:samgr_proxy", + ] + + if (build_selinux) { + external_deps += [ "selinux:libhap_restorecon" ] + } + + subsystem_name = "${subsystem_name}" + part_name = "${part_name}" +} + +ohos_prebuilt_etc("webviewspawn.rc") { + source = "webviewspawn.cfg" + relative_install_dir = "init" + subsystem_name = "${subsystem_name}" + part_name = "${part_name}" +} diff --git a/bundle.json b/bundle.json index 5a941f36..76676161 100644 --- a/bundle.json +++ b/bundle.json @@ -34,6 +34,9 @@ "//base/startup/appspawn_standard:appspawn", "//base/startup/appspawn_standard:appspawn.rc", "//base/startup/appspawn_standard:appspawn_server", + "//base/startup/appspawn_standard:webviewspawn", + "//base/startup/appspawn_standard:webviewspawn.rc", + "//base/startup/appspawn_standard:webviewspawn_server", "//base/startup/appspawn_standard/interfaces/innerkits:appspawn_socket_client" ], "inner_kits": [ diff --git a/interfaces/innerkits/include/client_socket.h b/interfaces/innerkits/include/client_socket.h index 7783a372..7be38b87 100644 --- a/interfaces/innerkits/include/client_socket.h +++ b/interfaces/innerkits/include/client_socket.h @@ -89,6 +89,7 @@ public: static constexpr int LEN_SO_PATH = 256; // load so lib static constexpr int MAX_GIDS = 64; static constexpr int APL_MAX_LEN = 32; + static constexpr int RENDER_CMD_MAX_LEN = 1024; struct AppProperty { uint32_t uid; // the UNIX uid that the child process setuid() to after fork() @@ -100,6 +101,7 @@ public: char soPath[LEN_SO_PATH]; // so lib path uint32_t accessTokenId; char apl[APL_MAX_LEN]; + char renderCmd[RENDER_CMD_MAX_LEN]; }; private: diff --git a/src/appspawn_server.cpp b/src/appspawn_server.cpp index 2b422d60..be6c61d3 100644 --- a/src/appspawn_server.cpp +++ b/src/appspawn_server.cpp @@ -160,6 +160,27 @@ void AppSpawnServer::ConnectionPeer() void AppSpawnServer::LoadAceLib() { +#ifdef WEBVIEW_SPAWN + std::string enginelibdir("/data/app/el1/bundle/public/com.ohos.webviewhap/com.ohos.webviewhap/assets/raw_assets/lib/libweb_engine.so"); + HiLog::Info(LABEL, "MainThread::LoadAbilityLibrary libweb_engine. Start calling dlopen enginelibdir."); + void *handle = dlopen(enginelibdir.c_str(), RTLD_NOW | RTLD_GLOBAL); + if (handle == nullptr) { + HiLog::Error(LABEL, "Fail to dlopen %{public}s, [%{public}s]", enginelibdir.c_str(), dlerror()); + } else { + HiLog::Info(LABEL, "Success to dlopen %{public}s", enginelibdir.c_str()); + } + HiLog::Info(LABEL, "MainThread::LoadAbilityLibrary libweb_engine. End calling dlopen."); + + std::string execlibdir("/data/app/el1/bundle/public/com.ohos.webviewhap/com.ohos.webviewhap/assets/raw_assets/lib/libwebview_exec_proc.so"); + HiLog::Info(LABEL, "MainThread::LoadAbilityLibrary libwebview_exec_proc. Start calling dlopen execlibdir."); + webviewHandle = dlopen(execlibdir.c_str(), RTLD_NOW | RTLD_GLOBAL); + if (webviewHandle == nullptr) { + HiLog::Error(LABEL, "Fail to dlopen %{public}s, [%{public}s]", execlibdir.c_str(), dlerror()); + } else { + HiLog::Info(LABEL, "Success to dlopen %{public}s", execlibdir.c_str()); + } + HiLog::Info(LABEL, "MainThread::LoadAbilityLibrary libwebview_exec_proc. End calling dlopen."); +#else std::string acelibdir("/system/lib/libace.z.so"); void *AceAbilityLib = nullptr; HiLog::Info(LABEL, "MainThread::LoadAbilityLibrary. Start calling dlopen acelibdir."); @@ -170,6 +191,7 @@ void AppSpawnServer::LoadAceLib() HiLog::Info(LABEL, "Success to dlopen %{public}s", acelibdir.c_str()); } HiLog::Info(LABEL, "MainThread::LoadAbilityLibrary. End calling dlopen."); +#endif } bool AppSpawnServer::ServerMain(char *longProcName, int64_t longProcNameLen) @@ -761,7 +783,18 @@ bool AppSpawnServer::SetAppProcProperty(int connectFd, const ClientSocket::AppPr } // notify success to father process and start app process NotifyResToParentProc(fd[1], ret); + +#ifdef WEBVIEW_SPAWN + using FuncType = void (*)(const char *cmd); + FuncType funcWebViewExecuteProcess = reinterpret_cast(dlsym(webviewHandle, "NWebExecuteProcess")); + if (funcWebViewExecuteProcess == nullptr) { + HiLog::Error(LABEL, "webviewspawn dlsym ERROR=%{public}s", dlerror()); + return false + } + funcWebViewExecuteProcess(appProperty->renderCmd); +#else AppExecFwk::MainThread::Start(); +#endif HiLog::Error(LABEL, "Failed to start process, pid = %{public}d", newPid); return false; diff --git a/src/include/appspawn_server.h b/src/include/appspawn_server.h index 06be8f02..60cef204 100644 --- a/src/include/appspawn_server.h +++ b/src/include/appspawn_server.h @@ -191,6 +191,9 @@ private: std::function propertyHandler_ = nullptr; std::function errHandlerHook_ = nullptr; bool isRunning_ {}; +#ifdef WEBVIEW_SPAWN + void *webviewHandle = nullptr; +#endif }; } // namespace AppSpawn } // namespace OHOS diff --git a/src/main.cpp b/src/main.cpp index b6bb8a58..41e40b2a 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -26,7 +26,11 @@ int main(int argc, char *const argv[]) uintptr_t end = reinterpret_cast(strchr(argv[argc - 1], 0)); uintptr_t argvSize = end - start; +#ifdef WEBVIEW_SPAWN + OHOS::AppSpawn::AppSpawnServer appspawnServer("/dev/unix/socket/WebViewSpawn"); +#else OHOS::AppSpawn::AppSpawnServer appspawnServer("AppSpawn"); +#endif appspawnServer.ServerMain(argv[0], argvSize); } diff --git a/src/socket/appspawn_socket.cpp b/src/socket/appspawn_socket.cpp index 4e63b4d1..8348f47d 100755 --- a/src/socket/appspawn_socket.cpp +++ b/src/socket/appspawn_socket.cpp @@ -58,15 +58,24 @@ int AppSpawnSocket::PackSocketAddr() return -1; } - socklen_t pathLen = socketDir_.length() + socketName_.length(); + socklen_t pathLen = 0; + if (socketName_[0] == '/') { + pathLen = socketName_.length(); + } else { + pathLen = socketDir_.length() + socketName_.length(); + } socklen_t pathSize = sizeof(socketAddr_.sun_path); if (pathLen >= pathSize) { HiLog::Error(LABEL, "Invalid socket name: '%s' too long", socketName_.c_str()); return -1; } - int len = - snprintf_s(socketAddr_.sun_path, pathSize, (pathSize - 1), "%s%s", socketDir_.c_str(), socketName_.c_str()); + int len = 0; + if (socketName_[0] == '/') { + len = snprintf_s(socketAddr_.sun_path, pathSize, (pathSize - 1), "%s", socketName_.c_str()); + } else { + len = snprintf_s(socketAddr_.sun_path, pathSize, (pathSize - 1), "%s%s", socketDir_.c_str(), socketName_.c_str()); + } if (static_cast(pathLen) != len) { HiLog::Error(LABEL, "Failed to copy socket path"); return -1; diff --git a/src/socket/server_socket.cpp b/src/socket/server_socket.cpp index 6a632b63..c7def029 100644 --- a/src/socket/server_socket.cpp +++ b/src/socket/server_socket.cpp @@ -20,6 +20,7 @@ #include #include "hilog/log.h" +#include "init_socket.h" #include "securec.h" namespace OHOS { @@ -152,11 +153,16 @@ int ServerSocket::RegisterServerSocket(int &connectFd) return -EINVAL; } +#ifdef WEBVIEW_SPAWN + connectFd = GetControlSocket("WebViewSpawn"); +#else connectFd = CreateSocket(); +#endif if (connectFd < 0) { return connectFd; } +#ifndef WEBVIEW_SPAWN if ((BindSocket(connectFd) != 0) || (listen(connectFd, listenBacklog_) < 0)) { HiLog::Error(LABEL, "Server: Register socket fd %d with backlog %d error: %d", @@ -170,7 +176,7 @@ int ServerSocket::RegisterServerSocket(int &connectFd) connectFd = -1; return (-errno); } - +#endif HiLog::Debug(LABEL, "Server: Suc to register server socket fd %d", connectFd); return 0; } diff --git a/webviewspawn.cfg b/webviewspawn.cfg new file mode 100644 index 00000000..dc23b829 --- /dev/null +++ b/webviewspawn.cfg @@ -0,0 +1,19 @@ +{ + "services" : [{ + "name" : "webviewspawn", + "path" : ["/system/bin/webviewspawn"], + "socket" : [{ + "name" : "WebViewSpawn", + "family" : "AF_LOCAL", + "type" : "SOCK_SEQPACKET", + "protocol" : "default", + "permissions" : "0666", + "uid" : "root", + "gid" : "root", + "option" : [ + ] + }], + "ondemand" : true + } + ] +} \ No newline at end of file -- Gitee From 6c4e0b2379fa47a83ca825ec141555ff14a19194 Mon Sep 17 00:00:00 2001 From: bigpumpkin Date: Thu, 24 Feb 2022 09:27:02 +0000 Subject: [PATCH 2/8] Signed-off-by: @bigpumpkin --- src/appspawn_server.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/appspawn_server.cpp b/src/appspawn_server.cpp index be6c61d3..86ef6e39 100644 --- a/src/appspawn_server.cpp +++ b/src/appspawn_server.cpp @@ -786,7 +786,7 @@ bool AppSpawnServer::SetAppProcProperty(int connectFd, const ClientSocket::AppPr #ifdef WEBVIEW_SPAWN using FuncType = void (*)(const char *cmd); - FuncType funcWebViewExecuteProcess = reinterpret_cast(dlsym(webviewHandle, "NWebExecuteProcess")); + FuncType funcWebViewExecuteProcess = reinterpret_cast(dlsym(webviewHandle, "WebViewExecuteProcess")); if (funcWebViewExecuteProcess == nullptr) { HiLog::Error(LABEL, "webviewspawn dlsym ERROR=%{public}s", dlerror()); return false -- Gitee From 86c847a85ca01e5d7d9897b12db17a821e07993b Mon Sep 17 00:00:00 2001 From: bigpumpkin Date: Thu, 24 Feb 2022 14:50:39 +0000 Subject: [PATCH 3/8] Signed-off-by: @bigpumpkin --- BUILD.gn | 11 +++++++++++ appspawn.gni | 4 ++++ bundle.json | 4 +--- src/appspawn_server.cpp | 2 +- 4 files changed, 17 insertions(+), 4 deletions(-) diff --git a/BUILD.gn b/BUILD.gn index 66ec9416..ebb46c2d 100755 --- a/BUILD.gn +++ b/BUILD.gn @@ -153,3 +153,14 @@ ohos_prebuilt_etc("webviewspawn.rc") { subsystem_name = "${subsystem_name}" part_name = "${part_name}" } + +group("webview") { + deps = [] + if (appspawn_support_webview) { + deps += [ + ":webviewspawn", + ":webviewspawn_server", + ":webviewspawn.rc" + ] + } +} \ No newline at end of file diff --git a/appspawn.gni b/appspawn.gni index f5be4ce0..ab2f4fcb 100644 --- a/appspawn.gni +++ b/appspawn.gni @@ -19,3 +19,7 @@ distributedschedule_path = "//foundation/distributedschedule/dmsfwk" subsystem_name = "startup" part_name = "appspawn" module_output_path = "${part_name}/appspawn_l2" + +declare_args() { + "appspawn_support_webview" = true +} diff --git a/bundle.json b/bundle.json index 76676161..cd31be1b 100644 --- a/bundle.json +++ b/bundle.json @@ -34,9 +34,7 @@ "//base/startup/appspawn_standard:appspawn", "//base/startup/appspawn_standard:appspawn.rc", "//base/startup/appspawn_standard:appspawn_server", - "//base/startup/appspawn_standard:webviewspawn", - "//base/startup/appspawn_standard:webviewspawn.rc", - "//base/startup/appspawn_standard:webviewspawn_server", + "//base/startup/appspawn_standard:webview", "//base/startup/appspawn_standard/interfaces/innerkits:appspawn_socket_client" ], "inner_kits": [ diff --git a/src/appspawn_server.cpp b/src/appspawn_server.cpp index 86ef6e39..96293040 100644 --- a/src/appspawn_server.cpp +++ b/src/appspawn_server.cpp @@ -789,7 +789,7 @@ bool AppSpawnServer::SetAppProcProperty(int connectFd, const ClientSocket::AppPr FuncType funcWebViewExecuteProcess = reinterpret_cast(dlsym(webviewHandle, "WebViewExecuteProcess")); if (funcWebViewExecuteProcess == nullptr) { HiLog::Error(LABEL, "webviewspawn dlsym ERROR=%{public}s", dlerror()); - return false + return false; } funcWebViewExecuteProcess(appProperty->renderCmd); #else -- Gitee From 227a56a7b222fda29637306fb621e2697e81be9a Mon Sep 17 00:00:00 2001 From: bigpumpkin Date: Fri, 25 Feb 2022 11:12:59 +0800 Subject: [PATCH 4/8] appspawn support webview Signed-off-by: bigpumpkin --- appspawn.gni | 2 +- bundle.json | 3 +++ src/appspawn_server.cpp | 6 ++++-- src/socket/appspawn_socket.cpp | 3 ++- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/appspawn.gni b/appspawn.gni index ab2f4fcb..5fc789cf 100644 --- a/appspawn.gni +++ b/appspawn.gni @@ -21,5 +21,5 @@ part_name = "appspawn" module_output_path = "${part_name}/appspawn_l2" declare_args() { - "appspawn_support_webview" = true + appspawn_support_webview = true } diff --git a/bundle.json b/bundle.json index cd31be1b..502b4725 100644 --- a/bundle.json +++ b/bundle.json @@ -17,6 +17,9 @@ "adapted_system_type": [ "standard" ], + "features": [ + "appspawn_support_webview" + ], "rom": "", "ram": "", "deps": { diff --git a/src/appspawn_server.cpp b/src/appspawn_server.cpp index 96293040..9462ab65 100644 --- a/src/appspawn_server.cpp +++ b/src/appspawn_server.cpp @@ -161,7 +161,8 @@ void AppSpawnServer::ConnectionPeer() void AppSpawnServer::LoadAceLib() { #ifdef WEBVIEW_SPAWN - std::string enginelibdir("/data/app/el1/bundle/public/com.ohos.webviewhap/com.ohos.webviewhap/assets/raw_assets/lib/libweb_engine.so"); + std::string enginelibdir("/data/app/el1/bundle/public/com.ohos.webviewhap" + "/entry/libs/armeabi/libweb_engine.so"); HiLog::Info(LABEL, "MainThread::LoadAbilityLibrary libweb_engine. Start calling dlopen enginelibdir."); void *handle = dlopen(enginelibdir.c_str(), RTLD_NOW | RTLD_GLOBAL); if (handle == nullptr) { @@ -171,7 +172,8 @@ void AppSpawnServer::LoadAceLib() } HiLog::Info(LABEL, "MainThread::LoadAbilityLibrary libweb_engine. End calling dlopen."); - std::string execlibdir("/data/app/el1/bundle/public/com.ohos.webviewhap/com.ohos.webviewhap/assets/raw_assets/lib/libwebview_exec_proc.so"); + std::string execlibdir("/data/app/el1/bundle/public/com.ohos.webviewhap" + "/entry/libs/armeabi/libwebview_exec_proc.so"); HiLog::Info(LABEL, "MainThread::LoadAbilityLibrary libwebview_exec_proc. Start calling dlopen execlibdir."); webviewHandle = dlopen(execlibdir.c_str(), RTLD_NOW | RTLD_GLOBAL); if (webviewHandle == nullptr) { diff --git a/src/socket/appspawn_socket.cpp b/src/socket/appspawn_socket.cpp index 8348f47d..4c0caf6a 100755 --- a/src/socket/appspawn_socket.cpp +++ b/src/socket/appspawn_socket.cpp @@ -74,7 +74,8 @@ int AppSpawnSocket::PackSocketAddr() if (socketName_[0] == '/') { len = snprintf_s(socketAddr_.sun_path, pathSize, (pathSize - 1), "%s", socketName_.c_str()); } else { - len = snprintf_s(socketAddr_.sun_path, pathSize, (pathSize - 1), "%s%s", socketDir_.c_str(), socketName_.c_str()); + len = snprintf_s(socketAddr_.sun_path, pathSize, (pathSize - 1), "%s%s", + socketDir_.c_str(), socketName_.c_str()); } if (static_cast(pathLen) != len) { HiLog::Error(LABEL, "Failed to copy socket path"); -- Gitee From 85211751ab135ecfbdb4654b36acdd4c4d6815f5 Mon Sep 17 00:00:00 2001 From: bigpumpkin Date: Fri, 25 Feb 2022 12:03:21 +0800 Subject: [PATCH 5/8] fix gn format Signed-off-by: bigpumpkin --- BUILD.gn | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/BUILD.gn b/BUILD.gn index ebb46c2d..3bd9662a 100755 --- a/BUILD.gn +++ b/BUILD.gn @@ -101,8 +101,8 @@ ohos_executable("webviewspawn") { sources = [ "${appspawn_path}/src/main.cpp" ] configs = [ ":appspawn_config" ] deps = [ - "${appspawn_path}:webviewspawn_server", "${appspawn_path}:webviewspawn.rc", + "${appspawn_path}:webviewspawn_server", "//base/security/access_token/interfaces/innerkits/token_setproc:libtoken_setproc", ] external_deps = [ "hiviewdfx_hilog_native:libhilog" ] @@ -125,8 +125,8 @@ ohos_static_library("webviewspawn_server") { deps = [ "${aafwk_path}/frameworks/kits/ability/native:abilitykit_native", "${aafwk_path}/frameworks/kits/appkit:appkit_native", - "//utils/native/base:utils", "//base/startup/init_lite/interfaces/innerkits/socket:libsocket_static", + "//utils/native/base:utils", ] external_deps = [ "ability_base:want", @@ -159,8 +159,8 @@ group("webview") { if (appspawn_support_webview) { deps += [ ":webviewspawn", + ":webviewspawn.rc", ":webviewspawn_server", - ":webviewspawn.rc" ] } -} \ No newline at end of file +} -- Gitee From 5db0d455d6e54baf407b8fca1659befbf34d24e1 Mon Sep 17 00:00:00 2001 From: bigpumpkin Date: Fri, 25 Feb 2022 16:04:49 +0800 Subject: [PATCH 6/8] fix compile error Signed-off-by: bigpumpkin --- BUILD.gn | 2 -- test/unittest/app_spawn_server_test/BUILD.gn | 2 ++ 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BUILD.gn b/BUILD.gn index 3bd9662a..49278f28 100755 --- a/BUILD.gn +++ b/BUILD.gn @@ -101,7 +101,6 @@ ohos_executable("webviewspawn") { sources = [ "${appspawn_path}/src/main.cpp" ] configs = [ ":appspawn_config" ] deps = [ - "${appspawn_path}:webviewspawn.rc", "${appspawn_path}:webviewspawn_server", "//base/security/access_token/interfaces/innerkits/token_setproc:libtoken_setproc", ] @@ -160,7 +159,6 @@ group("webview") { deps += [ ":webviewspawn", ":webviewspawn.rc", - ":webviewspawn_server", ] } } diff --git a/test/unittest/app_spawn_server_test/BUILD.gn b/test/unittest/app_spawn_server_test/BUILD.gn index 6cb7329a..d3998a89 100755 --- a/test/unittest/app_spawn_server_test/BUILD.gn +++ b/test/unittest/app_spawn_server_test/BUILD.gn @@ -60,6 +60,7 @@ ohos_unittest("AppSpawnServerMockTest") { include_dirs = [ "//base/security/access_token/interfaces/innerkits/token_setproc/include", + "//base/startup/init_lite/interfaces/innerkits/include", ] sources = [ @@ -77,6 +78,7 @@ ohos_unittest("AppSpawnServerMockTest") { deps = [ "${appspawn_path}/test:appspawn_test_source", "//base/security/access_token/interfaces/innerkits/token_setproc:libtoken_setproc", + "//base/startup/init_lite/interfaces/innerkits/socket:libsocket_static", ] external_deps = [ -- Gitee From 8ec927dccdd89ba1258e1566f31a5e1f1acd3b62 Mon Sep 17 00:00:00 2001 From: bigpumpkin Date: Sat, 26 Feb 2022 19:24:32 +0800 Subject: [PATCH 7/8] fix build.gn formatlibsocket_static" Signed-off-by: bigpumpkin --- test/unittest/app_spawn_server_test/BUILD.gn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/unittest/app_spawn_server_test/BUILD.gn b/test/unittest/app_spawn_server_test/BUILD.gn index 23843865..83a07f4e 100755 --- a/test/unittest/app_spawn_server_test/BUILD.gn +++ b/test/unittest/app_spawn_server_test/BUILD.gn @@ -86,8 +86,8 @@ ohos_unittest("AppSpawnServerMockTest") { deps = [ "${appspawn_path}/test:appspawn_test_source", "//base/security/access_token/interfaces/innerkits/token_setproc:libtoken_setproc", - "//base/startup/init_lite/interfaces/innerkits/socket:libsocket_static", "//base/startup/init_lite/interfaces/innerkits:libbegetutil", + "//base/startup/init_lite/interfaces/innerkits/socket:libsocket_static", "//base/startup/init_lite/services/log:init_log", "//base/startup/syspara_lite/interfaces/innerkits/native/syspara:syspara", ] -- Gitee From 1e678fa70ea9509e29ff57e472de687e48a0f3e8 Mon Sep 17 00:00:00 2001 From: bigpumpkin Date: Sat, 26 Feb 2022 20:27:38 +0800 Subject: [PATCH 8/8] fix gb format Signed-off-by: bigpumpkin --- BUILD.gn | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/BUILD.gn b/BUILD.gn index 74f253ad..9f0e9b9b 100755 --- a/BUILD.gn +++ b/BUILD.gn @@ -118,7 +118,10 @@ ohos_executable("webviewspawn") { } ohos_static_library("webviewspawn_server") { - defines = [ "WEBVIEW_SPAWN" ] + defines = [ + "INIT_AGENT", + "WEBVIEW_SPAWN", + ] sources = [ "${appspawn_path}/src/appspawn_msg_peer.cpp", "${appspawn_path}/src/appspawn_server.cpp", @@ -130,7 +133,10 @@ ohos_static_library("webviewspawn_server") { deps = [ "${aafwk_path}/frameworks/kits/ability/native:abilitykit_native", "${aafwk_path}/frameworks/kits/appkit:appkit_native", + "//base/startup/init_lite/interfaces/innerkits:libbegetutil", "//base/startup/init_lite/interfaces/innerkits/socket:libsocket_static", + "//base/startup/init_lite/services/log:init_log", + "//base/startup/syspara_lite/interfaces/innerkits/native/syspara:syspara", "//utils/native/base:utils", ] external_deps = [ -- Gitee