| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
feat(decompress): 解压适配器拆分为独立动态库并支持按需加载 将解压适配器从 cloud_adapter 中拆分为独立的 decompress_adapter 动态库, 通过 PluginLoader 按需加载(RTLD_LAZY | RTLD_NODELETE),std::call_once 线程安全防重复,析构时不 dlclose(RTLD_NODELETE 常驻)。 主要改动: - 新增 interfaces/inner_api/native/decompress_kit_inner/:DecompressKit inner API 头文件、BUILD.gn 和版本符号映射 - 新增 frameworks/native/decompress_kit_inner/:DecompressKit 客户端实现 - 新增 adapter/decompress_adapter_example/:独立 decompress_adapter SO 目标, 从 cloud_adapter_example 迁入 decompress_kit_impl.h/cpp,导出 DecompressKitImpl 符号 - cloud_adapter_example:移除 decompress 源和依赖,移除 map 中 DecompressKitImpl 导出 - DecompressKit 接口简化为只提供 HandleConfigUpdate() 一个虚方法,原 GetCloudVersionFilePath/IsUpdateVersionCompatible/IsNeedCopy/ DoParamDirCopy 四个方法下沉为 DecompressKitImpl 私有实现细节 - decompress_update.cpp 调用方简化为:LoadDecompressPlugin + GetInstance + HandleConfigUpdate,检查 HandleConfigUpdate 返回值 - PluginLoader:新增 LoadDecompressPlugin(),参考 LoadCloudKitPlugin 加载 模式,CLOUD_ADAPTER_ENABLED 隔离闭源 libdecompress_ext.z.so 与开源 libdecompress_adapter.z.so;std::call_once 线程安全防重复守卫; RTLD_LAZY | RTLD_NODELETE 按需加载,析构不 dlclose;dlopen 耗时统计 - DecompressConfigManager:删除已废弃的 system_feature.json / system_feature_pc.json / unsupported_list.json 配置文件,改为代码内 常量管理 - 新增 decompress_update.h/cpp:解压更新入口,集成插件加载和 DecompressKit::GetInstance() - distributedfile.gni:复用 dfs_service_feature_enable_cloud_adapter 特性 开关,编译条件与 cloud_adapter 一致,保证闭源设备不编译此空 so - 删除无引用的 decompress_kit_constant.h(死代码) - bundle.json:注册特性和 service_group 目标 - 测试:新增 decompress_kit_test、decompress_update_test,扩充 plugin_loader_test(LoadDecompressPlugin_001-004: 按需加载/call_once防重复/析构安全/幂等),扩充 decompress_config_manager_test - 同步 upstream/master 最新代码,解决冲突 QEMU x86_64_virt 全部 42 项测试通过: - decompress_kit_test: 4/4 - decompress_update_manager_test: 3/3 - decompress_config_manager_test: 28/28 - plugin_loader_test: 7/7 Signed-off-by: Wang <wangluyao35@h-partners.com> Co-Authored-By: Agent 🤖 AI[97%] 🔧 Human Fixed[0%] 🧑 Human[3%] 👌 AI Adopted[100%] Co-authored-by: opencode (glm-5.2) <ai@local> | 6 天前 | |
feat(decompress): 解压适配器拆分为独立动态库并支持按需加载 将解压适配器从 cloud_adapter 中拆分为独立的 decompress_adapter 动态库, 通过 PluginLoader 按需加载(RTLD_LAZY | RTLD_NODELETE),std::call_once 线程安全防重复,析构时不 dlclose(RTLD_NODELETE 常驻)。 主要改动: - 新增 interfaces/inner_api/native/decompress_kit_inner/:DecompressKit inner API 头文件、BUILD.gn 和版本符号映射 - 新增 frameworks/native/decompress_kit_inner/:DecompressKit 客户端实现 - 新增 adapter/decompress_adapter_example/:独立 decompress_adapter SO 目标, 从 cloud_adapter_example 迁入 decompress_kit_impl.h/cpp,导出 DecompressKitImpl 符号 - cloud_adapter_example:移除 decompress 源和依赖,移除 map 中 DecompressKitImpl 导出 - DecompressKit 接口简化为只提供 HandleConfigUpdate() 一个虚方法,原 GetCloudVersionFilePath/IsUpdateVersionCompatible/IsNeedCopy/ DoParamDirCopy 四个方法下沉为 DecompressKitImpl 私有实现细节 - decompress_update.cpp 调用方简化为:LoadDecompressPlugin + GetInstance + HandleConfigUpdate,检查 HandleConfigUpdate 返回值 - PluginLoader:新增 LoadDecompressPlugin(),参考 LoadCloudKitPlugin 加载 模式,CLOUD_ADAPTER_ENABLED 隔离闭源 libdecompress_ext.z.so 与开源 libdecompress_adapter.z.so;std::call_once 线程安全防重复守卫; RTLD_LAZY | RTLD_NODELETE 按需加载,析构不 dlclose;dlopen 耗时统计 - DecompressConfigManager:删除已废弃的 system_feature.json / system_feature_pc.json / unsupported_list.json 配置文件,改为代码内 常量管理 - 新增 decompress_update.h/cpp:解压更新入口,集成插件加载和 DecompressKit::GetInstance() - distributedfile.gni:复用 dfs_service_feature_enable_cloud_adapter 特性 开关,编译条件与 cloud_adapter 一致,保证闭源设备不编译此空 so - 删除无引用的 decompress_kit_constant.h(死代码) - bundle.json:注册特性和 service_group 目标 - 测试:新增 decompress_kit_test、decompress_update_test,扩充 plugin_loader_test(LoadDecompressPlugin_001-004: 按需加载/call_once防重复/析构安全/幂等),扩充 decompress_config_manager_test - 同步 upstream/master 最新代码,解决冲突 QEMU x86_64_virt 全部 42 项测试通过: - decompress_kit_test: 4/4 - decompress_update_manager_test: 3/3 - decompress_config_manager_test: 28/28 - plugin_loader_test: 7/7 Signed-off-by: Wang <wangluyao35@h-partners.com> Co-Authored-By: Agent 🤖 AI[97%] 🔧 Human Fixed[0%] 🧑 Human[3%] 👌 AI Adopted[100%] Co-authored-by: opencode (glm-5.2) <ai@local> | 6 天前 | |
feat(decompress): 解压适配器拆分为独立动态库并支持按需加载 将解压适配器从 cloud_adapter 中拆分为独立的 decompress_adapter 动态库, 通过 PluginLoader 按需加载(RTLD_LAZY | RTLD_NODELETE),std::call_once 线程安全防重复,析构时不 dlclose(RTLD_NODELETE 常驻)。 主要改动: - 新增 interfaces/inner_api/native/decompress_kit_inner/:DecompressKit inner API 头文件、BUILD.gn 和版本符号映射 - 新增 frameworks/native/decompress_kit_inner/:DecompressKit 客户端实现 - 新增 adapter/decompress_adapter_example/:独立 decompress_adapter SO 目标, 从 cloud_adapter_example 迁入 decompress_kit_impl.h/cpp,导出 DecompressKitImpl 符号 - cloud_adapter_example:移除 decompress 源和依赖,移除 map 中 DecompressKitImpl 导出 - DecompressKit 接口简化为只提供 HandleConfigUpdate() 一个虚方法,原 GetCloudVersionFilePath/IsUpdateVersionCompatible/IsNeedCopy/ DoParamDirCopy 四个方法下沉为 DecompressKitImpl 私有实现细节 - decompress_update.cpp 调用方简化为:LoadDecompressPlugin + GetInstance + HandleConfigUpdate,检查 HandleConfigUpdate 返回值 - PluginLoader:新增 LoadDecompressPlugin(),参考 LoadCloudKitPlugin 加载 模式,CLOUD_ADAPTER_ENABLED 隔离闭源 libdecompress_ext.z.so 与开源 libdecompress_adapter.z.so;std::call_once 线程安全防重复守卫; RTLD_LAZY | RTLD_NODELETE 按需加载,析构不 dlclose;dlopen 耗时统计 - DecompressConfigManager:删除已废弃的 system_feature.json / system_feature_pc.json / unsupported_list.json 配置文件,改为代码内 常量管理 - 新增 decompress_update.h/cpp:解压更新入口,集成插件加载和 DecompressKit::GetInstance() - distributedfile.gni:复用 dfs_service_feature_enable_cloud_adapter 特性 开关,编译条件与 cloud_adapter 一致,保证闭源设备不编译此空 so - 删除无引用的 decompress_kit_constant.h(死代码) - bundle.json:注册特性和 service_group 目标 - 测试:新增 decompress_kit_test、decompress_update_test,扩充 plugin_loader_test(LoadDecompressPlugin_001-004: 按需加载/call_once防重复/析构安全/幂等),扩充 decompress_config_manager_test - 同步 upstream/master 最新代码,解决冲突 QEMU x86_64_virt 全部 42 项测试通过: - decompress_kit_test: 4/4 - decompress_update_manager_test: 3/3 - decompress_config_manager_test: 28/28 - plugin_loader_test: 7/7 Signed-off-by: Wang <wangluyao35@h-partners.com> Co-Authored-By: Agent 🤖 AI[97%] 🔧 Human Fixed[0%] 🧑 Human[3%] 👌 AI Adopted[100%] Co-authored-by: opencode (glm-5.2) <ai@local> | 6 天前 | |
feat(decompress): 解压适配器拆分为独立动态库并支持按需加载 将解压适配器从 cloud_adapter 中拆分为独立的 decompress_adapter 动态库, 通过 PluginLoader 按需加载(RTLD_LAZY | RTLD_NODELETE),std::call_once 线程安全防重复,析构时不 dlclose(RTLD_NODELETE 常驻)。 主要改动: - 新增 interfaces/inner_api/native/decompress_kit_inner/:DecompressKit inner API 头文件、BUILD.gn 和版本符号映射 - 新增 frameworks/native/decompress_kit_inner/:DecompressKit 客户端实现 - 新增 adapter/decompress_adapter_example/:独立 decompress_adapter SO 目标, 从 cloud_adapter_example 迁入 decompress_kit_impl.h/cpp,导出 DecompressKitImpl 符号 - cloud_adapter_example:移除 decompress 源和依赖,移除 map 中 DecompressKitImpl 导出 - DecompressKit 接口简化为只提供 HandleConfigUpdate() 一个虚方法,原 GetCloudVersionFilePath/IsUpdateVersionCompatible/IsNeedCopy/ DoParamDirCopy 四个方法下沉为 DecompressKitImpl 私有实现细节 - decompress_update.cpp 调用方简化为:LoadDecompressPlugin + GetInstance + HandleConfigUpdate,检查 HandleConfigUpdate 返回值 - PluginLoader:新增 LoadDecompressPlugin(),参考 LoadCloudKitPlugin 加载 模式,CLOUD_ADAPTER_ENABLED 隔离闭源 libdecompress_ext.z.so 与开源 libdecompress_adapter.z.so;std::call_once 线程安全防重复守卫; RTLD_LAZY | RTLD_NODELETE 按需加载,析构不 dlclose;dlopen 耗时统计 - DecompressConfigManager:删除已废弃的 system_feature.json / system_feature_pc.json / unsupported_list.json 配置文件,改为代码内 常量管理 - 新增 decompress_update.h/cpp:解压更新入口,集成插件加载和 DecompressKit::GetInstance() - distributedfile.gni:复用 dfs_service_feature_enable_cloud_adapter 特性 开关,编译条件与 cloud_adapter 一致,保证闭源设备不编译此空 so - 删除无引用的 decompress_kit_constant.h(死代码) - bundle.json:注册特性和 service_group 目标 - 测试:新增 decompress_kit_test、decompress_update_test,扩充 plugin_loader_test(LoadDecompressPlugin_001-004: 按需加载/call_once防重复/析构安全/幂等),扩充 decompress_config_manager_test - 同步 upstream/master 最新代码,解决冲突 QEMU x86_64_virt 全部 42 项测试通过: - decompress_kit_test: 4/4 - decompress_update_manager_test: 3/3 - decompress_config_manager_test: 28/28 - plugin_loader_test: 7/7 Signed-off-by: Wang <wangluyao35@h-partners.com> Co-Authored-By: Agent 🤖 AI[97%] 🔧 Human Fixed[0%] 🧑 Human[3%] 👌 AI Adopted[100%] Co-authored-by: opencode (glm-5.2) <ai@local> | 6 天前 |