From e3b88ca92398b199f7a115d16224f7fec9033c10 Mon Sep 17 00:00:00 2001 From: lanhaoyu Date: Tue, 27 May 2025 16:06:43 +0800 Subject: [PATCH] fix Signed-off-by: lanhaoyu --- adapter/ohos/Compressor.java | 42 +++++++++---------- .../frameworks/src/general_normalize.cpp | 2 +- .../json/general_normalize_version_utils.cpp | 13 ++++++ .../frameworks/src/version_normalize.cpp | 2 +- 4 files changed, 36 insertions(+), 23 deletions(-) diff --git a/adapter/ohos/Compressor.java b/adapter/ohos/Compressor.java index 23c6028c..8bfb7b86 100644 --- a/adapter/ohos/Compressor.java +++ b/adapter/ohos/Compressor.java @@ -271,18 +271,18 @@ public class Compressor { } private static class GeneralNormalizeUtil { - private int originVersionCode = INVALID_VERSION; + private String originApiReleaseType = ""; + private String originBundleType = ""; private String originVersionName = ""; private String moduleName = ""; private String originBundleName = ""; + private String originDeviceTypes = ""; + private int originVersionCode = INVALID_VERSION; private int originMinCompatibleVersionCode = INVALID_VERSION; private int originMinAPIVersion = INVALID_VERSION; private int originTargetAPIVersion = INVALID_VERSION; - private String originApiReleaseType = ""; - private String originBundleType = ""; private boolean originInstallationFree = false; private boolean originDeliveryWithInstall = false; - private String originDeviceTypes = ""; private boolean isInstallationFree = false; private boolean isDeliveryWithInstall = false; @@ -4033,13 +4033,13 @@ public class Compressor { if (utility.getGeneralNormalizeList().contains(INSTALLATION_FREE)) { util.setOriginInstallationFree(moduleObject.getBoolean(INSTALLATION_FREE)); util.setIsInstallationFree(true); - moduleObject.put(INSTALLATION_FREE, utility.getDeliveryWithInstall()); + moduleObject.put(INSTALLATION_FREE, Boolean.parseBoolean(utility.getInstallationFree())); } if (utility.getGeneralNormalizeList().contains(DELIVERY_WITH_INSTALL)) { util.setOriginDeliveryWithInstall(moduleObject.getBoolean(DELIVERY_WITH_INSTALL)); util.setIsDeliveryWithInstall(true); - moduleObject.put(DELIVERY_WITH_INSTALL, utility.getInstallationFree()); + moduleObject.put(DELIVERY_WITH_INSTALL, Boolean.parseBoolean(utility.getDeliveryWithInstall())); } writeJson(jsonFilePath, jsonObject); } catch (IOException e) { @@ -4162,13 +4162,13 @@ public class Compressor { if (utility.getGeneralNormalizeList().contains(INSTALLATION_FREE)) { util.setOriginInstallationFree(distroObj.getBoolean(INSTALLATION_FREE)); util.setIsInstallationFree(true); - distroObj.put(INSTALLATION_FREE, utility.getDeliveryWithInstall()); + distroObj.put(INSTALLATION_FREE, Boolean.parseBoolean(utility.getInstallationFree())); } if (utility.getGeneralNormalizeList().contains(DELIVERY_WITH_INSTALL)) { util.setOriginDeliveryWithInstall(distroObj.getBoolean(DELIVERY_WITH_INSTALL)); util.setIsDeliveryWithInstall(true); - distroObj.put(DELIVERY_WITH_INSTALL, utility.getInstallationFree()); + distroObj.put(DELIVERY_WITH_INSTALL, Boolean.parseBoolean(utility.getDeliveryWithInstall())); } writeJson(jsonFilePath, jsonObject); } catch (IOException e) { @@ -4328,45 +4328,45 @@ public class Compressor { for (GeneralNormalizeUtil util : utils) { JSONObject jsonObject = new JSONObject(); if (util.originDeviceTypes != null && !util.originDeviceTypes.isEmpty()) { - jsonObject.put("deviceTypes", util.originDeviceTypes); + jsonObject.put(DEVICE_TYPES, util.originDeviceTypes); if (util.originDeviceTypes instanceof String) { String arrayStr = (String) util.originDeviceTypes; JSONArray deviceTypes = JSON.parseArray(arrayStr); - jsonObject.put("deviceTypes", deviceTypes); + jsonObject.put(DEVICE_TYPES, deviceTypes); } } if (util.originVersionCode != INVALID_VERSION) { - jsonObject.put("versionCode", util.originVersionCode); + jsonObject.put(VERSION_CODE, util.originVersionCode); } if (util.moduleName != null && !util.moduleName.isEmpty()) { - jsonObject.put("moduleName", util.moduleName); + jsonObject.put(MODULE_NAME_NEW, util.moduleName); } if (util.originVersionName != null && !util.originVersionName.isEmpty()) { - jsonObject.put("versionName", util.originVersionName); + jsonObject.put(VERSION_NAME, util.originVersionName); } if (util.originMinCompatibleVersionCode != INVALID_VERSION) { - jsonObject.put("minCompatibleVersionCode", util.originMinCompatibleVersionCode); + jsonObject.put(MIN_COMPATIBLE_VERSION_CODE, util.originMinCompatibleVersionCode); } if (util.originMinAPIVersion != INVALID_VERSION) { - jsonObject.put("minAPIVersion", util.originMinAPIVersion); + jsonObject.put(MIN_API_VERSION, util.originMinAPIVersion); } if (util.originTargetAPIVersion != INVALID_VERSION) { - jsonObject.put("targetAPIVersion", util.originTargetAPIVersion); + jsonObject.put(TARGET_API_VERSION, util.originTargetAPIVersion); } if (util.originApiReleaseType!= null && !util.originApiReleaseType.isEmpty()) { - jsonObject.put("apiReleaseType", util.originApiReleaseType); + jsonObject.put(API_RELEASE_TYPE, util.originApiReleaseType); } if (util.originBundleType != null && !util.originBundleType.isEmpty()) { - jsonObject.put("bundleType", util.originBundleType); + jsonObject.put(BUNDLE_TYPE, util.originBundleType); } if (util.originBundleName != null && !util.originBundleName.isEmpty()) { - jsonObject.put("bundleName", util.originBundleName); + jsonObject.put(BUNDLE_NAME, util.originBundleName); } if (util.isInstallationFree == true) { - jsonObject.put("installationFree", util.originInstallationFree); + jsonObject.put(INSTALLATION_FREE, util.originInstallationFree); } if (util.isDeliveryWithInstall == true) { - jsonObject.put("deliveryWithInstall", util.originDeliveryWithInstall); + jsonObject.put(DELIVERY_WITH_INSTALL, util.originDeliveryWithInstall); } jsonArray.add(jsonObject); } diff --git a/packing_tool/frameworks/src/general_normalize.cpp b/packing_tool/frameworks/src/general_normalize.cpp index 6f8f2ddc..e6daee4f 100644 --- a/packing_tool/frameworks/src/general_normalize.cpp +++ b/packing_tool/frameworks/src/general_normalize.cpp @@ -18,8 +18,8 @@ #include "hap_packager.h" #include "hqf_packager.h" #include "hsp_packager.h" -#include "json/json_utils.h" #include "json/general_normalize_version_utils.h" +#include "json/json_utils.h" #include "json/module_json.h" #include "json/pack_info.h" #include "log.h" diff --git a/packing_tool/frameworks/src/json/general_normalize_version_utils.cpp b/packing_tool/frameworks/src/json/general_normalize_version_utils.cpp index 6df8cfb4..4f055895 100644 --- a/packing_tool/frameworks/src/json/general_normalize_version_utils.cpp +++ b/packing_tool/frameworks/src/json/general_normalize_version_utils.cpp @@ -38,67 +38,80 @@ const std::string MODULE_NAME = "moduleName"; std::string GeneralNormalizeVersionUtils::ArrayToString(const std::list& generalNormalizeVersions) { + LOGD("ArrayToString begin"); std::unique_ptr versionsJson = PtJson::CreateArray(); for (auto& generalNormalizeVersion : generalNormalizeVersions) { std::unique_ptr ptJson = PtJson::CreateObject(); if (generalNormalizeVersion.moduleName != "") { if (!ptJson->Add(MODULE_NAME.c_str(), generalNormalizeVersion.moduleName.c_str())) { + LOGE("add moduleName failed"); return ""; } } if (!generalNormalizeVersion.originDeviceTypes.empty()) { if (!ptJson->Add(DEVICE_TYPES.c_str(), generalNormalizeVersion.originDeviceTypes)) { + LOGE("add originDeviceTypes failed"); return ""; } } if (generalNormalizeVersion.originBundleName != "") { if (!ptJson->Add(BUNDLE_NAME.c_str(), generalNormalizeVersion.originBundleName.c_str())) { + LOGE("add originBundleName failed"); return ""; } } if (generalNormalizeVersion.originVersionCode != -1) { if (!ptJson->Add(VERSION_CODE.c_str(), generalNormalizeVersion.originVersionCode)) { + LOGE("add originVersionCode failed"); return ""; } } if (generalNormalizeVersion.originVersionName != "") { if (!ptJson->Add(VERSION_NAME.c_str(), generalNormalizeVersion.originVersionName.c_str())) { + LOGE("add originVersionName failed"); return ""; } } if (generalNormalizeVersion.originMinCompatibleVersionCode != -1) { if (!ptJson->Add(MIN_COMPATIBLE_VERSION_CODE.c_str(), generalNormalizeVersion.originMinCompatibleVersionCode)) { + LOGE("add originMinCompatibleVersionCode failed"); return ""; } } if (generalNormalizeVersion.originMinAPIVersion != -1) { if (!ptJson->Add(MIN_API_VERSION.c_str(), generalNormalizeVersion.originMinAPIVersion)) { + LOGE("add originMinAPIVersion failed"); return ""; } } if (generalNormalizeVersion.originTargetAPIVersion != -1) { if (!ptJson->Add(TARGET_API_VERSION.c_str(), generalNormalizeVersion.originTargetAPIVersion)) { + LOGE("add originTargetAPIVersion failed"); return ""; } } if (generalNormalizeVersion.originApiReleaseType != "") { if (!ptJson->Add(API_RELEASE_TYPE.c_str(), generalNormalizeVersion.originApiReleaseType.c_str())) { + LOGE("add originApiReleaseType failed"); return ""; } } if (generalNormalizeVersion.originBundleType != "") { if (!ptJson->Add(BUNDLE_TYPE.c_str(), generalNormalizeVersion.originBundleType.c_str())) { + LOGE("add originBundleType failed"); return ""; } } if (generalNormalizeVersion.modifyInstallationFree == true) { if (!ptJson->Add(INSTALLATION_FREE.c_str(), generalNormalizeVersion.originInstallationFree)) { + LOGE("add originInstallationFree failed"); return ""; } } if (generalNormalizeVersion.modifyDeliveryWithInstall == true) { if (!ptJson->Add(DELIVERY_WITH_INSTALL.c_str(), generalNormalizeVersion.originDeliveryWithInstall)) { + LOGE("add originDeliveryWithInstall failed"); return ""; } } diff --git a/packing_tool/frameworks/src/version_normalize.cpp b/packing_tool/frameworks/src/version_normalize.cpp index 9db0d240..af2785d2 100644 --- a/packing_tool/frameworks/src/version_normalize.cpp +++ b/packing_tool/frameworks/src/version_normalize.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2024 Huawei Device Co., Ltd. + * Copyright (c) 2024-2025 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at -- Gitee