1e41f4b71Sopenharmony_ci# Bundle Manager Subsystem Changelog 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ci## cl.bundlemanager.1 Deleted the ApplicationReservedFlag Enum and the applicationReservedFlag field in ApplicationInfo 4e41f4b71Sopenharmony_ci 5e41f4b71Sopenharmony_ci**Access Level** 6e41f4b71Sopenharmony_ci 7e41f4b71Sopenharmony_ciPublic APIs 8e41f4b71Sopenharmony_ci 9e41f4b71Sopenharmony_ci**Reason for Change** 10e41f4b71Sopenharmony_ci 11e41f4b71Sopenharmony_ciThe name of **applicationReservedFlag** is too difficult to understand. In addition, the information obtained by this field is never used. 12e41f4b71Sopenharmony_ci 13e41f4b71Sopenharmony_ci**Change Impact** 14e41f4b71Sopenharmony_ci 15e41f4b71Sopenharmony_ciThis change is a non-compatible change. The **applicationReservedFlag** field in **ApplicationInfo** is designed to store the reserved fields of an application. Currently, it is used to store only the information indicating whether the application is encrypted. After the field is deleted, you cannot obtain the reserved fields of an application through **applicationReservedFlag**. 16e41f4b71Sopenharmony_ci 17e41f4b71Sopenharmony_ci**API Level** 18e41f4b71Sopenharmony_ci 19e41f4b71Sopenharmony_ci11 20e41f4b71Sopenharmony_ci 21e41f4b71Sopenharmony_ci**Change Since** 22e41f4b71Sopenharmony_ci 23e41f4b71Sopenharmony_ciOpenHarmony SDK 4.1.5.5 24e41f4b71Sopenharmony_ci 25e41f4b71Sopenharmony_ci**Key API/Component Changes** 26e41f4b71Sopenharmony_ci 27e41f4b71Sopenharmony_ci| API| Description| 28e41f4b71Sopenharmony_ci| --------------- | ------- | 29e41f4b71Sopenharmony_ci| enum ApplicationReservedFlag | This enum is no longer used.| 30e41f4b71Sopenharmony_ci| readonly applicationReservedFlag: number; | This field is no longer used.| 31e41f4b71Sopenharmony_ci 32e41f4b71Sopenharmony_ci**Adaptation Guide** 33e41f4b71Sopenharmony_ci 34e41f4b71Sopenharmony_ciNo adaptation is required. 35e41f4b71Sopenharmony_ci 36e41f4b71Sopenharmony_ci 37e41f4b71Sopenharmony_ci## cl.bundlemanager.2 Deleted the appId and appIdentifier Fields from OH_NativeBundle_ApplicationInfo 38e41f4b71Sopenharmony_ci 39e41f4b71Sopenharmony_ci**Access Level** 40e41f4b71Sopenharmony_ci 41e41f4b71Sopenharmony_ciPublic APIs 42e41f4b71Sopenharmony_ci 43e41f4b71Sopenharmony_ci**Reason for Change** 44e41f4b71Sopenharmony_ci 45e41f4b71Sopenharmony_ciThe **appId** and **appIdentifier** fields is deleted from the [OH_NativeBundle_ApplicationInfo](../../../application-dev/reference/native-apis/_o_h___native_bundle_application_info.md) struct. 46e41f4b71Sopenharmony_ci 47e41f4b71Sopenharmony_ci**Change Impact** 48e41f4b71Sopenharmony_ci 49e41f4b71Sopenharmony_ciFor a native application developed using API version 11 or later, you cannot use [OH_NativeBundle_GetCurrentApplicationInfo](../../../application-dev/reference/native-apis/native__interface__bundle.md#oh_nativebundle_getcurrentapplicationinfo) to obtain its appId and appIdentifier information. 50e41f4b71Sopenharmony_ci 51e41f4b71Sopenharmony_ci**API Level** 52e41f4b71Sopenharmony_ci 53e41f4b71Sopenharmony_ci11 54e41f4b71Sopenharmony_ci 55e41f4b71Sopenharmony_ci**Change Since** 56e41f4b71Sopenharmony_ci 57e41f4b71Sopenharmony_ciOpenHarmony SDK 4.1.5.5 58e41f4b71Sopenharmony_ci 59e41f4b71Sopenharmony_ci**Key API/Component Changes** 60e41f4b71Sopenharmony_ci 61e41f4b71Sopenharmony_ciAn application calls [OH_NativeBundle_GetCurrentApplicationInfo](../../../application-dev/reference/native-apis/native__interface__bundle.md#oh_nativebundle_getcurrentapplicationinfo) to query its own information. 62e41f4b71Sopenharmony_ci 63e41f4b71Sopenharmony_ci**Adaptation Guide** 64e41f4b71Sopenharmony_ci 65e41f4b71Sopenharmony_ciCall [OH_NativeBundle_GetAppId](../../../application-dev/reference/native-apis/native__interface__bundle.md#oh_nativebundle_getappid) to query the appId information. 66e41f4b71Sopenharmony_ciCall [OH_NativeBundle_GetAppIdentifier](../../../application-dev/reference/native-apis/native__interface__bundle.md#oh_nativebundle_getappidentifier) to query the appIdentifier information. 67e41f4b71Sopenharmony_ci 68e41f4b71Sopenharmony_ciSample code: 69e41f4b71Sopenharmony_ci 70e41f4b71Sopenharmony_ci ```c++ 71e41f4b71Sopenharmony_ci static napi_value GetCurrentApplicationInfo(napi_env env, napi_callback_info info) 72e41f4b71Sopenharmony_ci { 73e41f4b71Sopenharmony_ci // Call the native API to obtain the application information. 74e41f4b71Sopenharmony_ci OH_NativeBundle_ApplicationInfo nativeApplicationInfo = OH_NativeBundle_GetCurrentApplicationInfo(); 75e41f4b71Sopenharmony_ci napi_value result = nullptr; 76e41f4b71Sopenharmony_ci napi_create_object(env, &result); 77e41f4b71Sopenharmony_ci // Convert the bundle name obtained by calling the native API to the bundleName attribute in the JavaScript object. 78e41f4b71Sopenharmony_ci napi_value bundleName; 79e41f4b71Sopenharmony_ci napi_create_string_utf8(env, nativeApplicationInfo.bundleName, NAPI_AUTO_LENGTH, &bundleName); 80e41f4b71Sopenharmony_ci napi_set_named_property(env, result, "bundleName", bundleName); 81e41f4b71Sopenharmony_ci // Convert the fingerprint information obtained by calling the native API to the fingerprint attribute in the JavaScript object. 82e41f4b71Sopenharmony_ci napi_value fingerprint; 83e41f4b71Sopenharmony_ci napi_create_string_utf8(env, nativeApplicationInfo.fingerprint, NAPI_AUTO_LENGTH, &fingerprint); 84e41f4b71Sopenharmony_ci napi_set_named_property(env, result, "fingerprint", fingerprint); 85e41f4b71Sopenharmony_ci 86e41f4b71Sopenharmony_ci char* appId = OH_NativeBundle_GetAppId(); // new 87e41f4b71Sopenharmony_ci // Convert the application ID obtained by calling the native API to the appId attribute in the JavaScript object. 88e41f4b71Sopenharmony_ci napi_value napi_appId; 89e41f4b71Sopenharmony_ci napi_create_string_utf8(env, appId, NAPI_AUTO_LENGTH, &napi_appId); 90e41f4b71Sopenharmony_ci napi_set_named_property(env, result, "appId", napi_appId); 91e41f4b71Sopenharmony_ci 92e41f4b71Sopenharmony_ci char* appIdentifier = OH_NativeBundle_GetAppIdentifier(); // new 93e41f4b71Sopenharmony_ci // Convert the application identifier obtained by calling the native API to the appIdentifier attribute in the JavaScript object. 94e41f4b71Sopenharmony_ci napi_value napi_appIdentifier; 95e41f4b71Sopenharmony_ci napi_create_string_utf8(env, appIdentifier, NAPI_AUTO_LENGTH, &napi_appIdentifier); 96e41f4b71Sopenharmony_ci napi_set_named_property(env, result, "appIdentifier", napi_appIdentifier); 97e41f4b71Sopenharmony_ci // To prevent memory leak, manually release the memory. 98e41f4b71Sopenharmony_ci free(nativeApplicationInfo.bundleName); 99e41f4b71Sopenharmony_ci free(nativeApplicationInfo.fingerprint); 100e41f4b71Sopenharmony_ci free(appId); 101e41f4b71Sopenharmony_ci free(appIdentifier); 102e41f4b71Sopenharmony_ci return result; 103e41f4b71Sopenharmony_ci } 104e41f4b71Sopenharmony_ci``` 105e41f4b71Sopenharmony_ci 106e41f4b71Sopenharmony_ci## c3.bundlemanager.3 Control Changed for the Installation of Debugging Applications 107e41f4b71Sopenharmony_ci 108e41f4b71Sopenharmony_ci**Access Level** 109e41f4b71Sopenharmony_ci 110e41f4b71Sopenharmony_ciOther 111e41f4b71Sopenharmony_ci 112e41f4b71Sopenharmony_ci**Reason for Change** 113e41f4b71Sopenharmony_ci 114e41f4b71Sopenharmony_ciDebugging applications can be installed only on a device in developer mode. You can determine whether an application is a debugging one based on the **type** field in the [signing certificate](../../../application-dev/security/app-provision-structure.md). 115e41f4b71Sopenharmony_ci 116e41f4b71Sopenharmony_ci**Change Impact** 117e41f4b71Sopenharmony_ci 118e41f4b71Sopenharmony_ciThis change is a non-compatible change. If the signing certificate type of an application is **debug** and the device is not in developer mode, the application cannot be installed on the device. 119e41f4b71Sopenharmony_ci 120e41f4b71Sopenharmony_ci**API Level** 121e41f4b71Sopenharmony_ci 122e41f4b71Sopenharmony_ci11 123e41f4b71Sopenharmony_ci 124e41f4b71Sopenharmony_ci**Change Since** 125e41f4b71Sopenharmony_ci 126e41f4b71Sopenharmony_ciOpenHarmony SDK 4.1.5.5 127e41f4b71Sopenharmony_ci 128e41f4b71Sopenharmony_ci**Key API/Component Changes** 129e41f4b71Sopenharmony_ci 130e41f4b71Sopenharmony_ciN/A 131e41f4b71Sopenharmony_ci 132e41f4b71Sopenharmony_ci**Adaptation Guide** 133e41f4b71Sopenharmony_ci 134e41f4b71Sopenharmony_ciYou can choose **Settings > General > Developer Mode** to enable or disable the developer mode. 135