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