CN117971305A - Upgrading method of operating system, server and electronic equipment - Google Patents

Upgrading method of operating system, server and electronic equipment Download PDF

Info

Publication number
CN117971305A
CN117971305A CN202410361816.0A CN202410361816A CN117971305A CN 117971305 A CN117971305 A CN 117971305A CN 202410361816 A CN202410361816 A CN 202410361816A CN 117971305 A CN117971305 A CN 117971305A
Authority
CN
China
Prior art keywords
vndk
version
library
server
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202410361816.0A
Other languages
Chinese (zh)
Other versions
CN117971305B (en
Inventor
王亮亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202410361816.0A priority Critical patent/CN117971305B/en
Publication of CN117971305A publication Critical patent/CN117971305A/en
Application granted granted Critical
Publication of CN117971305B publication Critical patent/CN117971305B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

The application provides an upgrading method of an operating system, a server and electronic equipment, and relates to the technical field of computers. The upgrading method of the operating system comprises the following steps: the method comprises the steps that a first server obtains a version image of an operating system of the latest version of electronic equipment; the first server acquires a target extension VNDK library from the second server according to the version image; the first server adds the target extension VNDK library into the unpacked version image, and repacks the unpacked version image to obtain an upgrade package; the first server sends the upgrade package to the third server, so that the electronic equipment carries out version upgrade on the current operating system based on the upgrade package acquired from the third server. The application ensures the complete function of the electronic equipment operating system after upgrading, and improves the use experience of users.

Description

Upgrading method of operating system, server and electronic equipment
Technical Field
The present application relates to the field of computer technologies, and in particular, to an operating system upgrading method, a server, and an electronic device.
Background
In order to solve some system faults or loopholes of the electronic equipment in daily use, the system is subjected to large-version upgrade at irregular intervals. The operating system framework and vendor code are separated so that vendors develop the functionality of the electronic device by adding proprietary code.
At present, the problem that the private codes of suppliers are lost, so that some function anomalies of the electronic equipment are caused, and the use experience of users is affected.
Disclosure of Invention
In order to solve the technical problems, the application provides an upgrade method, a server and an electronic device of an operating system, in the method, a first server can obtain a target extension VNDK library meeting version requirements from a second server according to a version image of the latest version operating system of the electronic device, and the upgrade package is obtained by adding the target extension VNDK library into an unpacked version image and repackaging the unpacked version image. The method ensures the complete function of the electronic equipment operating system after upgrading, and improves the use experience of users.
In a first aspect, an embodiment of the present application provides a method for upgrading an operating system. Applicable to a first server, the method comprising: acquiring a version image of an operating system of the latest version of the electronic equipment; the version mirror image integrates various functional files and configurations related to the starting or running process of the electronic equipment; obtaining a target extension VNDK (Vendor Native Development Kit, vendor native development suite) library from the second server according to the version image; the target extension VNDK library is obtained by modifying and compiling source codes of the original VNDK library with the same version; adding the target extension VNDK library into the unpacked version image, and repackaging the unpacked version image to obtain an upgrade package; sending the upgrade package to a third server; the electronic device is used for obtaining an upgrade package from the third server and upgrading the version of the current operating system based on the upgrade package.
The version image is compiled by software codes, and various functional files and configurations related to the starting or running process of the electronic equipment are integrated in the version image. The first server may be a flash server, and the first server is configured to make an upgrade package according to the version image. The second server may be an archive server that stores various versions of the extension VNDK library. The third server may be an OTA server, and is configured to store the upgrade package and send the upgrade package to the electronic device. The original VNDK library is a set of libraries for vendor development HAL (Hardware Abstraction Layer ). The original VNDK library is used for realizing basic functions or services provided by the system; the extension VNDK library is used to implement the basic functions or services provided by the system, as well as the functions or services extended by the vendor.
In this way, the first server obtains the target extension VNDK library adapting to the version from the second server according to the version image, adds the target extension VNDK library to the unpacked version image, and repacks the unpacked version image to obtain the upgrade package. The modification of the original VNDK library by the provider is reserved in the latest version of upgrade package, and the extension VNDK library can be called in the running process of the electronic equipment, so that the integrity of the function of the electronic equipment operating system after upgrade is ensured, and the use experience of a user is improved.
According to a first aspect, the version image comprises a first image and a second image; the first mirror image is used for realizing core functions of an operating system, a user interface and an application program framework; the second image is used to implement vendor extended executable programs, libraries, and system services.
The first mirror image is a system mirror image, and the second mirror image is a vendor mirror image.
According to the first aspect, or any implementation manner of the first aspect, adding the target extension VNDK library to the unpacked version image, and repackaging the unpacked version image to obtain an upgrade package, including: unpacking the first mirror image to obtain a system file; the system file comprises a target file, and the target file is used for storing various libraries; adding a target extension VNDK library into a target file; and repackaging the system file into a first image, and packaging the packaged first image and second image to obtain an upgrade package.
Wherein, the system file is a system file, and the target file is an apex file.
Therefore, the target extension VNDK library is stored in the designated file, so that the target extension VNDK library can be directly installed from the designated file in the process of installing the upgrade package and upgrading the operating system by the electronic equipment, and the efficiency of installing and calling the target extension VNDK library is improved.
According to the first aspect, or any implementation manner of the first aspect, the target file contains a plurality of original VNDK libraries of different versions; adding a target extension VNDK library to a target file, comprising: and replacing the original VNDK library with the same version number in the target file with the target extension VNDK library according to the version number of the target extension VNDK library.
In this way, the original VNDK library with the same version number in the target file is replaced by the target extension VNDK library, so that the modification of the original VNDK library by the provider is reserved, and the integrity of functions after the electronic equipment system is updated is further ensured.
According to the first aspect, or any implementation manner of the first aspect, according to the system image file, the obtaining, from the second server, the target extension VNDK library includes: determining a version number of the VNDK library of the second mirror relationship; sending a first acquisition request to a second server; the first obtaining request carries the version number of VNDK library of the second mirror image association; a target extension VNDK library sent by the second server in response to the first acquisition request is received.
Wherein the first fetch request may be a fetch library request.
Thus, by adding the version number of the VNDK library of the second mirror relationship to the first fetch request, the second server is facilitated to determine a version-eligible target extension VNDK library from the locally stored plurality of extension VNDK libraries.
In a second aspect, an embodiment of the present application provides another method for upgrading an operating system. The method can be applied to a second server, the second server is used for storing various versions of extension VNDK libraries, the extension VNDK library is obtained by modifying and compiling source codes of an original VNDK library, and the original VNDK library is a group of libraries for developing HAL by suppliers; the method comprises the following steps: receiving a first acquisition request sent by a first server; the first acquisition request is generated by a first server according to a version image of an operating system of the latest version of the electronic equipment, and the version image integrates various functional files and configurations related to the starting or running process of the electronic equipment; determining a target extension VNDK library from the plurality of versions of extension VNDK libraries according to the first acquisition request; sending a target extension VNDK library to a first server; the first server is used for adding the target extension VNDK library into the unpacked version image, and repackaging the unpacked version image to obtain an upgrade package; the first server is also used for sending the upgrade package to a third server; the electronic device is used for acquiring an upgrade package from the third server and carrying out version upgrade on the current operating system based on the upgrade package.
According to a second aspect, the version image comprises a first image and a second image; the first mirror image is used for realizing core functions of an operating system, a user interface and an application program framework; the second image is used to implement vendor extended executable programs, libraries, and system services.
According to a second aspect, or any implementation manner of the first aspect, the version number of the extended VNDK library of the second mirror relationship is carried in the first obtaining request; determining a target extension VNDK library from the plurality of versions of extension VNDK libraries according to the first get request, comprising: the target extension VNDK library is determined from the plurality of extension VNDK libraries based on the version number of the VNDK library of the second mirror relationship.
Any implementation manner of the second aspect and the second aspect corresponds to any implementation manner of the first aspect and the first aspect, respectively. The technical effects corresponding to the second aspect and any implementation manner of the second aspect may be referred to the technical effects corresponding to the first aspect and any implementation manner of the first aspect, which are not described herein.
In a third aspect, an embodiment of the present application provides another method for upgrading an operating system. Applicable to an electronic device, the method comprising: sending a second acquisition request to the third server under the condition that the presence of an upgrade package in the third server is detected; the upgrade package is obtained by adding a target extension VNDK library into the unpacked version image for the first server and repackaging the unpacked version image; the version mirror image is the mirror image of the latest operating system of the electronic equipment, and integrates various functional files and configurations related to the starting or running process of the electronic equipment; the target extension VNDK library is obtained from the second server based on the version mirror image for the first server; the target extension VNDK library is obtained by modifying and compiling the source code of the original VNDK library with the same version; the original VNDK libraries are a set of libraries for suppliers to develop HALs; receiving an upgrade package sent by a third server in response to a second acquisition request; based on the upgrade package, version upgrade is performed on the current operating system.
The second obtaining request may be an upgrade package obtaining request.
Any implementation manner of the third aspect and any implementation manner of the third aspect corresponds to any implementation manner of the first aspect and any implementation manner of the first aspect, respectively. The technical effects corresponding to the third aspect and any implementation manner of the third aspect may be referred to the technical effects corresponding to the first aspect and any implementation manner of the first aspect, which are not described herein.
In a fourth aspect, an embodiment of the present application provides a server, including: one or more processors; a memory; and one or more computer programs, wherein the one or more computer programs are stored on the memory, which when executed by the one or more processors, cause the server to perform the steps of: acquiring a version image of an operating system of the latest version of the electronic equipment; the version mirror image integrates various functional files and configurations related to the starting or running process of the electronic equipment; acquiring a target extension VNDK library from a second server according to the version image; the target extension VNDK library is obtained by modifying and compiling source codes of the original VNDK library with the same version; the original VNDK libraries are a set of libraries for suppliers to develop HALs; adding the target extension VNDK library into the unpacked version image, and repackaging the unpacked version image to obtain an upgrade package; sending the upgrade package to a third server; the electronic equipment is used for acquiring an upgrade package from the third server and upgrading the version of the current operating system based on the upgrade package.
Any implementation manner of the fourth aspect and any implementation manner of the fourth aspect corresponds to any implementation manner of the first aspect and any implementation manner of the first aspect, respectively. Technical effects corresponding to any implementation manner of the fourth aspect may be referred to the technical effects corresponding to any implementation manner of the first aspect, and are not described herein.
In a fifth aspect, an embodiment of the present application provides another server, including: one or more processors; a memory; and one or more computer programs, wherein the one or more computer programs are stored on the memory, which when executed by the one or more processors, cause the server to perform the steps of: receiving a first acquisition request sent by a first server; the first acquisition request is generated by a first server according to a version mirror image of the latest version operating system of the electronic equipment; the version mirror image integrates various functional files and configurations related to the starting or running process of the electronic equipment; determining a target extension VNDK library from the plurality of versions of extension VNDK libraries according to the first acquisition request; multiple versions of the extension VNDK are stored on memory; the extension VNDK library is obtained by modifying and compiling source codes of the original VNDK library, and the original VNDK library is a group of libraries for developing HAL by suppliers; sending a target extension VNDK library to a first server; the first server is used for adding the target extension VNDK library into the unpacked version image, and repackaging the unpacked version image to obtain an upgrade package; the first server is also used for sending the upgrade package to a third server; the electronic device is used for acquiring an upgrade package from the third server and carrying out version upgrade on the current operating system based on the upgrade package.
Any implementation manner of the fifth aspect and any implementation manner of the fifth aspect corresponds to any implementation manner of the first aspect and any implementation manner of the first aspect, respectively. Technical effects corresponding to any implementation manner of the fifth aspect may be referred to the technical effects corresponding to any implementation manner of the first aspect, and are not described herein.
In a sixth aspect, embodiments of the present application provide an electronic device comprising one or more processors; a memory; and one or more computer programs, wherein the one or more computer programs are stored on the memory, which when executed by the one or more processors, cause the electronic device to perform the steps of: sending a second acquisition request to the third server under the condition that the presence of an upgrade package in the third server is detected; the upgrade package is obtained by adding a target extension VNDK library into the unpacked version image for the first server and repackaging the unpacked version image; the version mirror image is the mirror image of the latest operating system of the electronic equipment, and integrates various functional files and configurations related to the starting or running process of the electronic equipment; the target extension VNDK library is obtained from the second server based on the version mirror image for the first server; the target extension VNDK library is obtained by modifying and compiling the source code of the original VNDK library with the same version; the original VNDK libraries are a set of libraries for suppliers to develop HALs; receiving an upgrade package sent by a third server in response to a second acquisition request; based on the upgrade package, version upgrade is performed on the current operating system.
Any implementation manner of the sixth aspect corresponds to any implementation manner of the first aspect and the first aspect, respectively. Technical effects corresponding to any implementation manner of the sixth aspect may be referred to the technical effects corresponding to any implementation manner of the first aspect, and are not described herein.
In a seventh aspect, embodiments of the present application provide a computer-readable storage medium. The computer readable storage medium comprises a computer program which, when run on an electronic device, causes the electronic device to perform the first aspect and the method of upgrading the operating system of any of the first aspects.
Any implementation manner of the seventh aspect and any implementation manner of the seventh aspect corresponds to any implementation manner of the first aspect and any implementation manner of the first aspect, respectively. Technical effects corresponding to any implementation manner of the seventh aspect may be referred to the technical effects corresponding to any implementation manner of the first aspect, and are not described herein.
In an eighth aspect, an embodiment of the present application provides a computer program product comprising a computer program which, when executed, causes a computer to perform the method of upgrading an operating system as in any of the first or second aspects.
Any implementation manner of the eighth aspect and any implementation manner of the eighth aspect corresponds to any implementation manner of the first aspect and any implementation manner of the first aspect, respectively. Technical effects corresponding to any implementation manner of the eighth aspect may be referred to the technical effects corresponding to any implementation manner of the first aspect, and are not described herein.
In a ninth aspect, the present application provides a chip comprising processing circuitry, transceiver pins. Wherein the transceiver pin and the processing circuit communicate with each other via an internal connection path, the processing circuit executing the upgrade method of the operating system as in the first aspect or any one of the first aspects to control the receiving pin to receive signals and the transmitting pin to transmit signals.
Any implementation manner of the ninth aspect and any implementation manner of the ninth aspect correspond to any implementation manner of the first aspect and any implementation manner of the first aspect, respectively. Technical effects corresponding to any implementation manner of the ninth aspect may be referred to the technical effects corresponding to any implementation manner of the first aspect, and are not described herein.
Drawings
Fig. 1 and 2 are schematic views of an exemplary application scenario;
fig. 3 is a schematic diagram of a hardware structure of an exemplary electronic device;
FIG. 4 is a schematic diagram of a software architecture of an exemplary electronic device;
FIG. 5 is a schematic diagram illustrating interactions between a bag server, an OTA server, and an electronic device during an operating system upgrade process;
FIG. 6 is a schematic diagram illustrating changes before and after a current operating system upgrade;
FIG. 7 is a schematic diagram illustrating interactions between a media server, an archiving server, an OTA server, and an electronic device during an operating system upgrade process;
FIG. 8 is a schematic diagram illustrating changes before and after an operating system upgrade of the present application;
fig. 9 is a timing diagram between the present application, a beat server, an archive server, an OTA server, and an electronic device, which are illustratively shown.
Detailed Description
The following description of the embodiments of the present application will be made clearly and fully with reference to the accompanying drawings, in which it is evident that the embodiments described are some, but not all embodiments of the application. All other embodiments, which can be made by those skilled in the art based on the embodiments of the application without making any inventive effort, are intended to be within the scope of the application.
The term "and/or" is herein merely an association relationship describing an associated object, meaning that there may be three relationships, e.g., a and/or B, may represent: a exists alone, A and B exist together, and B exists alone.
The terms first and second and the like in the description and in the claims of embodiments of the application, are used for distinguishing between different objects and not necessarily for describing a particular sequential order of objects. For example, the first target object and the second target object, etc., are used to distinguish between different target objects, and are not used to describe a particular order of target objects.
In embodiments of the application, words such as "exemplary" or "such as" are used to mean serving as an example, instance, or illustration. Any embodiment or design described herein as "exemplary" or "e.g." in an embodiment should not be taken as preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "such as" is intended to present related concepts in a concrete fashion.
In the description of the embodiments of the present application, unless otherwise indicated, the meaning of "a plurality" means two or more. For example, the plurality of processing units refers to two or more processing units; the plurality of systems means two or more systems.
For clarity of description of the following embodiments, a brief introduction to related concepts or technologies is first given:
VNDK, a vendor native development suite, also known as VNDK library, is a set of libraries dedicated to the vendor to implement its HAL. VNDK are included in the system image system. Img and are dynamically associated with vendor code at runtime. Each version of the operating system provides a corresponding version of the original VNDK library, so that a provider can modify the open source code of the original VNDK library according to own requirements, and some functions of the electronic device are added. The provider modifies and compiles the open source code of the original VNDK library to obtain an extended VNDK library.
VNDK libraries may include LL-NDK libraries, framework-shared libraries, and vendor-shared libraries, where LL-NDK libraries include :libEGL.so、libGLESv1_CM.so、libGLESv2.so、libGLESv3.so、libandroid_net.so、libc.so、libdl.so、liblog.so、libm.so、libnativewindow.so、libneuralnetworks.so、libsync.so、libvndksupport.so and libvulkan.
Version images are compiled from software code into which various functional files and configurations related to the electronic device start-up or run-up process are integrated.
System images, i.e., system. Img, also known as system images, system components, or system components, include the core functionality of an operating system, user interfaces, application frameworks, and the like.
The vendor image, i.e., vendor. Img, may also be referred to as a chip component or vendor component, contains vendor-extended executable programs, libraries, system services, apps, and the like.
In order to better explain the technical scheme provided by the application, an application scene of the scheme of the application is firstly described.
During the use of the electronic device by the user, the electronic device may not be free from faults or problems. System maintenance personnel can repair or solve loopholes or problems in the process of using the electronic equipment daily by updating the operating system of the electronic equipment irregularly. In the case that the electronic device has system update, the method of updating the operating system by the mobile phone will be described below by taking the electronic device as an example of the mobile phone.
Illustratively, as shown in fig. 1 (1), the cell phone displays an interface 101, the interface 101 containing various applications installed on the cell phone, such as a clock, calendar, gallery, memo, file management, email, music, setting 1011, sports health, weather, camera, etc. The user clicks on the setting 1011 and the handset responds to the user clicking on the operation display interface 102 of the setting 1011. As shown in fig. 1 (2), the interface 102 contains a plurality of setting items such as login account, WLAN, bluetooth, application, screen-off and unlocking, system and update 1021, security, etc. The user clicks on the system and update 1021, and the handset displays the interface 103 in response to the user clicking on the operation of the system and update 1021, as shown in fig. 1 (3), the interface 103 containing the current system version and check update 1031. The user clicks on the check update 1031, and the handset displays the interface 104 in response to the user clicking on the operation of the check update 1031, as shown in fig. 1 (4), the interface 104 including a description of the latest version of the operating system, and downloads and installs 1041. The user can update the operating system of the handset to the latest version, such as the latest version 6.0 shown in fig. 1 (4), by clicking download and install 1041.
Illustratively, as shown in fig. 2 (1), in response to the user clicking the operation of downloading and installing 1041, the mobile phone downloads the latest version 6.0 of the operating system, and the latest version of the downloading progress is displayed in the downloading process. As shown in fig. 2 (2), after the downloading is completed, the latest version 6.0 of the operating system is installed on the mobile phone, and the installation progress of the latest version is displayed in the installation process. After the installation is completed, the mobile phone prompts the new system to be installed, please restart the device, the user clicks the determination 1051, and the mobile phone restarts the mobile phone in response to the operation of the user clicking the determination 1051, as shown in fig. 2 (3). As shown in fig. 2 (4), after the mobile phone is restarted, the interface of the system and the update is re-entered according to the description of fig. 1 (1) to fig. 1 (3), and the mobile phone displays the current version of the operating system as 6.0, which indicates that the operating system of the mobile phone has been updated to the latest version.
Fig. 3 shows a schematic structural diagram of the electronic device 100. It should be understood that the electronic device 100 shown in fig. 3 is only one example of an electronic device, and that the electronic device 100 may have more or fewer components than shown in the figures, may combine two or more components, or may have a different configuration of components. The various components shown in fig. 3 may be implemented in hardware, software, or a combination of hardware and software, including one or more signal processing and/or application specific integrated circuits.
The electronic device 100 may include: processor 110, external memory interface 120, internal memory 121, universal serial bus (universal serial bus, USB) interface 130, charge management module 140, power management module 141, battery 142, antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, audio module 170, speaker 170A, receiver 170B, microphone 170C, headset interface 170D, sensor module 180, keys 190, motor 191, indicator 192, camera 193, display 194, and subscriber identity module (subscriber identification module, SIM) card interface 195, etc. The sensor module 180 may include a pressure sensor, a gyroscope sensor, a barometric sensor, a magnetic sensor, an acceleration sensor, a depth sensor, a proximity sensor, a fingerprint sensor, a temperature sensor, a touch sensor, an ambient light sensor, a bone conduction sensor, and the like.
The processor 110 may include one or more processing units, such as: the processor 110 may include an application processor (application processor, AP), a modem processor, a graphics processor (graphics processing unit, GPU), an image signal processor (IMAGE SIGNAL processor, ISP), a controller, a memory, a video codec, a digital signal processor (DIGITAL SIGNAL processor, DSP), a baseband processor, and/or a neural Network Processor (NPU), etc. Wherein the different processing units may be separate devices or may be integrated in one or more processors.
The controller may be a neural hub and a command center of the electronic device 100, among others. The controller can generate operation control signals according to the instruction operation codes and the time sequence signals to finish the control of instruction fetching and instruction execution.
A memory may also be provided in the processor 110 for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. The memory may hold instructions or data that the processor 110 has just used or recycled. If the processor 110 needs to reuse the instruction or data, it can be called directly from the memory. Repeated accesses are avoided and the latency of the processor 110 is reduced, thereby improving the efficiency of the system.
The USB interface 130 is an interface conforming to the USB standard specification, and may specifically be a Mini USB interface, a Micro USB interface, a USB Type C interface, or the like. The USB interface 130 may be used to connect a charger to charge the electronic device 100, and may also be used to transfer data between the electronic device 100 and a peripheral device. And can also be used for connecting with a headset, and playing audio through the headset. The interface may also be used to connect other electronic devices, such as AR devices, etc.
The charge management module 140 is configured to receive a charge input from a charger. The charger can be a wireless charger or a wired charger.
The power management module 141 is used for connecting the battery 142, and the charge management module 140 and the processor 110. The power management module 141 receives input from the battery 142 and/or the charge management module 140 and provides power to the processor 110, the internal memory 121, the external memory, the display 194, the camera 193, the wireless communication module 160, and the like.
The wireless communication function of the electronic device 100 may be implemented by the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, a modem processor, a baseband processor, and the like.
The antennas 1 and 2 are used for transmitting and receiving electromagnetic wave signals. Each antenna in the electronic device 100 may be used to cover a single or multiple communication bands. Different antennas may also be multiplexed to improve the utilization of the antennas. For example: the antenna 1 may be multiplexed into a diversity antenna of a wireless local area network. In other embodiments, the antenna may be used in conjunction with a tuning switch.
The mobile communication module 150 may provide a solution for wireless communication including 2G/3G/4G/5G, etc., applied to the electronic device 100. The mobile communication module 150 may include at least one filter, switch, power amplifier, low noise amplifier (low noise amplifier, LNA), etc. The mobile communication module 150 may receive electromagnetic waves from the antenna 1, perform processes such as filtering, amplifying, and the like on the received electromagnetic waves, and transmit the processed electromagnetic waves to the modem processor for demodulation. The mobile communication module 150 can amplify the signal modulated by the modem processor, and convert the signal into electromagnetic waves through the antenna 1 to radiate. In some embodiments, at least some of the functional modules of the mobile communication module 150 may be disposed in the processor 110. In some embodiments, at least some of the functional modules of the mobile communication module 150 may be provided in the same device as at least some of the modules of the processor 110.
The wireless communication module 160 may provide solutions for wireless communication including wireless local area network (wireless local area networks, WLAN) (e.g., wireless fidelity (WIRELESS FIDELITY, wi-Fi) network), bluetooth (BT), global navigation satellite system (global navigation SATELLITE SYSTEM, GNSS), frequency modulation (frequency modulation, FM), near field communication (NEAR FIELD communication, NFC), infrared (IR), etc., applied to the electronic device 100.
In some embodiments, antenna 1 and mobile communication module 150 of electronic device 100 are coupled, and antenna 2 and wireless communication module 160 are coupled, such that electronic device 100 may communicate with a network and other devices through wireless communication techniques.
The electronic device 100 implements display functions through a GPU, a display screen 194, an application processor, and the like. The GPU is a microprocessor for image processing, and is connected to the display 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. Processor 110 may include one or more GPUs that execute program instructions to generate or change display information.
The display screen 194 is used to display images, videos, and the like. The display 194 includes a display panel. In some embodiments, the electronic device 100 may include 1 or N display screens 194, N being a positive integer greater than 1.
The electronic device 100 may implement photographing functions through an ISP, a camera 193, a video codec, a GPU, a display screen 194, an application processor, and the like.
The ISP is used to process data fed back by the camera 193. For example, when photographing, the shutter is opened, light is transmitted to the camera photosensitive element through the lens, the optical signal is converted into an electric signal, and the camera photosensitive element transmits the electric signal to the ISP for processing and is converted into an image visible to naked eyes. ISP can also optimize the noise, brightness and skin color of the image. The ISP can also optimize parameters such as exposure, color temperature and the like of a shooting scene. In some embodiments, the ISP may be provided in the camera 193.
The camera 193 is used to capture still images or video. The object generates an optical image through the lens and projects the optical image onto the photosensitive element. The photosensitive element may be a charge coupled device (charge coupled device, CCD) or a Complementary Metal Oxide Semiconductor (CMOS) phototransistor. The photosensitive element converts the optical signal into an electrical signal, which is then transferred to the ISP to be converted into a digital image signal. The ISP outputs the digital image signal to the DSP for processing. The DSP converts the digital image signal into an image signal in a standard RGB, YUV, or the like format. In some embodiments, electronic device 100 may include 1 or N cameras 193, N being a positive integer greater than 1.
Video codecs are used to compress or decompress digital video. The electronic device 100 may support one or more video codecs. In this way, the electronic device 100 may play or record video in a variety of encoding formats, such as: dynamic picture experts group (moving picture experts group, MPEG) 1, MPEG2, MPEG3, MPEG4, etc.
The NPU is a neural-network (NN) computing processor, and can rapidly process input information by referencing a biological neural network structure, for example, referencing a transmission mode between human brain neurons, and can also continuously perform self-learning. Applications such as intelligent awareness of the electronic device 100 may be implemented through the NPU, for example: image recognition, face recognition, speech recognition, text understanding, etc.
The external memory interface 120 may be used to connect an external memory card, such as a Micro SD card, to enable expansion of the memory capabilities of the electronic device 100. The external memory card communicates with the processor 110 through an external memory interface 120 to implement data storage functions. For example, files such as music, video, etc. are stored in an external memory card.
The internal memory 121 may be used to store computer executable program code including instructions. The processor 110 executes various functional applications of the electronic device 100 and data processing by executing instructions stored in the internal memory 121. The internal memory 121 may include a storage program area and a storage data area. The storage program area may store an application program (such as a sound playing function, an image playing function, etc.) required for at least one function of the operating system, etc. The storage data area may store data created during use of the electronic device 100 (e.g., audio data, phonebook, etc.), and so on. In addition, the internal memory 121 may include a high-speed random access memory, and may further include a nonvolatile memory such as at least one magnetic disk storage device, a flash memory device, a universal flash memory (universal flash storage, UFS), and the like.
The electronic device 100 may implement audio functions through an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, an application processor, and the like. Such as music playing, recording, etc.
The audio module 170 is used to convert digital audio information into an analog audio signal output and also to convert an analog audio input into a digital audio signal. The audio module 170 may also be used to encode and decode audio signals.
The keys 190 include a power-on key, a volume key, etc. The keys 190 may be mechanical keys. Or may be a touch key.
The motor 191 may generate a vibration cue. The motor 191 may be used for incoming call vibration alerting as well as for touch vibration feedback.
The indicator 192 may be an indicator light, may be used to indicate a state of charge, a change in charge, a message indicating a missed call, a notification, etc.
The SIM card interface 195 is used to connect a SIM card. The electronic device 100 may support 1 or N SIM card interfaces, N being a positive integer greater than 1.
The software system of the electronic device 100 may employ a layered architecture, an event driven architecture, a microkernel architecture, a microservice architecture, or a cloud architecture. In the embodiment of the application, taking an Android system with a layered architecture as an example, a software structure of the electronic device 100 is illustrated.
Fig. 4 is a software configuration block diagram of the electronic device 100 according to the embodiment of the present application.
The layered architecture of the electronic device 100 divides the software into several layers, each with a distinct role and division of labor. The layers communicate with each other through a software interface. In some embodiments, the Android system is divided into four layers, from top to bottom, an application layer, an application framework layer, an Zhuoyun rows (Android run times) and system libraries, and a kernel layer.
The application layer may include a series of application packages. As shown in fig. 4, the application package may include a system upgrade client (OTA Update Client, OUC), settings, camera, gallery, WLAN, bluetooth, etc. application. The application packages may also include applications for conversations, calendars, maps, navigation, music, video, short messages, etc. OUC is used for system upgrade management. When these application packages are run, the various service modules provided by the application framework layer can be accessed through an application programming interface (application programming interface, API) and the corresponding intelligent services are executed.
For example, in order to implement an upgrade of the operating system, in some implementations, the electronic device may access, through a WIFI application, a WIFI network available in a nearby area, then obtain, through the OUC, an upgrade package from an upgrade package server, such as an OTA (Over-the-AirTechnology) server, that manages the upgrade package, and then implement, by the upgrade engine, writing an upgrade file in the upgrade package into a corresponding partition, and after the installation is completed, trigger, by the OUC, a restart of the mobile phone in response to an operation behavior of a restart option by a user.
In addition, in order to implement an upgrade of the operating system, in other implementations, the OUC and WIFI applications may be integrated into the setup application, that is, a corresponding operation portal is provided in the setup application, so as to implement the above operation.
It should be understood that the above description is only an example for better understanding of the technical solution of the present embodiment, and is not to be taken as the only limitation of the present embodiment.
The application framework layer provides an application programming interface (application programming interface, API) and programming framework for the application of the application layer. The application framework layer includes a number of predefined functions. As shown in FIG. 4, the application framework layer may include a system service, a window manager, a content provider, a view system, a telephony manager, a resource manager, a notification manager, and the like.
The system services are used to instantiate corresponding services of applications, components, etc. In particular, in this embodiment, the system service may instantiate an attribute service for reading the system restart attribute.
The window manager is used for managing window programs. The window manager can acquire the size of the display screen, judge whether a status bar exists, lock the screen, intercept the screen and the like.
The content provider is used to store and retrieve data and make such data accessible to applications. The data may include video, images, audio, calls made and received, browsing history and bookmarks, phonebooks, etc.
The view system includes visual controls, such as controls to display text, controls to display pictures, and the like. The view system may be used to build applications. The display interface may be composed of one or more views. For example, a display interface including a text message notification icon may include a view displaying text and a view displaying a picture.
The telephony manager is used to provide the communication functions of the electronic device 100. Such as the management of call status (including on, hung-up, etc.).
The resource manager provides various resources for the application program, such as localization strings, icons, pictures, layout files, video files, and the like.
The notification manager allows the application to display notification information in a status bar, can be used to communicate notification type messages, can automatically disappear after a short dwell, and does not require user interaction. Such as notification manager is used to inform that the download is complete, message alerts, etc. The notification manager may also be a notification in the form of a chart or scroll bar text that appears on the system top status bar, such as a notification of a background running application, or a notification that appears on the screen in the form of a dialog window. For example, a text message is prompted in a status bar, a prompt tone is emitted, the electronic device vibrates, and an indicator light blinks, etc.
Android run time includes a core library and virtual machines. Android run is responsible for scheduling and management of the Android system.
The core library consists of two parts: one part is a function which needs to be called by java language, and the other part is a core library of android.
The application layer and the application framework layer run in a virtual machine. The virtual machine executes java files of the application program layer and the application program framework layer as binary files. The virtual machine is used for executing the functions of object life cycle management, stack management, thread management, security and exception management, garbage collection and the like.
The system library may include a plurality of functional modules. For example: surface manager (surface manager), media Libraries (Media Libraries), three-dimensional graphics processing Libraries (e.g., openGL ES), 2D graphics engines (e.g., SGL), etc.
The surface manager is used to manage the display subsystem and provides a fusion of 2D and 3D layers for multiple applications. Media libraries support a variety of commonly used audio, video format playback and recording, still image files, and the like. The three-dimensional graphic processing library is used for realizing three-dimensional graphic drawing, image rendering, synthesis, layer processing and the like. The 2D graphics engine is a drawing engine for 2D drawing.
The kernel layer is a layer between hardware and software. The kernel layer contains at least display drivers, upgrade engines, wi-Fi drivers, sensor drivers, etc. The hardware at least comprises a processor, a display screen, a Wi-Fi module, a sensor and the like.
It will be appreciated that the layers and components contained in the layers in the software structure shown in fig. 4 do not constitute a specific limitation on the electronic device 100. In other embodiments of the application, electronic device 100 may include more or fewer layers than shown and may include more or fewer components per layer, as the application is not limited.
It should be noted that, in an actual application scenario, along with development of an Over-the-air technology (Over-the-AirTechnology, OTA), OTA upgrading for implementing remote version upgrade on an electronic device through a wireless network interface of the electronic device is becoming more and more popular. In order to facilitate the description of the upgrade scheme of the current operating system in conjunction with the actual service scenario, in the following, in conjunction with fig. 5, an OTA upgrade scenario is taken as an example to describe interactions among the packet capturing server, the OTA server and the electronic device in the upgrade scheme of the operating system.
For example, referring to fig. 5, an upgrade package for upgrading an operating system of an electronic device (such as a PC device, a tablet device, a mobile phone, etc. in fig. 5) is made by a package server according to a version image, and the made upgrade package is uploaded to an OTA server by the package server, and the OTA server uniformly manages and actively pushes the upgrade package to an accessed electronic device, or sends the upgrade package to a corresponding electronic device according to a request of the accessed electronic device.
With continued reference to fig. 5, after the electronic device acquires the upgrade package from the OTA server to upgrade the operating system, the electronic device will report the upgrade result to the OTA server, so that the OTA server can know whether the upgrade of the operating system of the electronic device is successful.
In addition, in practical application, for the case of upgrade failure, the upgrade result reported to the OTA server by the electronic device may further include log information of upgrade failure, so as to quickly locate the reason of upgrade failure of the operating system.
The system upgrading of the electronic equipment is an important way for solving the system fault and improving the user experience. Taking an operating system of the electronic device as an android system as an example, a valley song does not periodically upgrade the android system for a large version, and an original VNDK library of a corresponding version is provided in each system version. For example, the original VNDK library corresponding to version V29, com, android.vndk.v29.apex, is provided in the operating system of version Q (Android 10). The original VNDK library corresponding to version V30, com. The original VNDK library corresponding to version V31, com.android.vndk.v31.apex, is provided in the operating system of version S (Android 12). The original VNDK library corresponding to version V33, com.
Since google sources the source code of the original VNDK library to the vendor, the vendor can develop some usage functions of the electronic device by adding private codes to the source code of the original VNDK library. However, after google upgrades the android system once, the modification of the original VNDK library of the previous version by the provider is not reserved, but the original VNDK library of the previous version is directly archived in the android system of the latest version, so that after the electronic device upgrades the android system to the latest version, some using functions are lost, and the using experience of a user is affected.
For example, as shown in fig. 6, taking the current operating system as an S version operating system, the S version operating system includes a vendor component and an S version system component, the vendor component is associated with a V31 version VNDK library, the S version system component includes a V31 version extension VNDK library, the V31 version extension VNDK library is obtained by modifying and compiling source code of a V31 version original VNDK library by a vendor, and modifying the source code includes deleting a portion of the source code, adding the portion of the source code to a corresponding location in the source code, and replacing the portion of the source code. VNDK libraries are a collection of libraries, such as LL-NDK libraries, framework-shared libraries, and vendor-shared libraries, VNDK libraries are used by vendors to develop their own services. Currently, after upgrading an S version of operating system to a T version of operating system, the T version of operating system includes a vendor component and a T version of system component, where the T version of system component includes a V33 version of original VNDK library and a V31 version of original VNDK library. Since the V31 version of the extended VNDK library is not used continuously after the S version operating system is upgraded to the T version operating system, the V31 version of the original VNDK library is used, resulting in a loss of vendor modifications to the V31 version of the original VNDK library. Thus, during the use of the electronic device, when the original VNDK library of the V31 version is called to provide services, some problems of abnormal functions occur.
Based on the version image, the application provides an upgrading method of an operating system, wherein a shooting server can acquire the version image of the operating system of the latest version of the electronic equipment, and a target extension VNDK library is acquired from an archiving server according to the version image. The capture server obtains an upgrade package by adding the target extension VNDK library to the unpacked version image and repackaging the unpacked version image to preserve the modified portion of VNDK by the vendor in the upgrade package of the latest version of the operating system. The clapping server sends the upgrade package to the OTA server, so that the electronic equipment carries out version upgrade on the current operating system based on the upgrade package obtained from the OTA server. In this way, in the running process of the electronic equipment, the extension VNDK library of the provider can be called, the integrity of the functions of the electronic equipment is ensured, and the user experience is further improved.
Illustratively, as shown in fig. 7, the clapping server will obtain an extended VNDK library, such as the V31 version of the extended VNDK library, from the archiving server in addition to the version image file. The version image is compiled by software codes, and various functional files and configurations related to the starting or running process of the electronic equipment are integrated inside the version image. A complete system version includes many images, partition table images gpt.img, boot related images (xloader.img, boot. Img), chip images vendor.img (including all binary files that cannot be distributed to Android open source items (AOSP)), system images system.img, super image super.img (integrated with Android system cores), and user data images userda.img (for storing user data), etc. The shooting and packing server can unpack the system image super.img in the version image to obtain a system.img; unpacking the system. Img to obtain an apex file, wherein the path of the apex file is system/apex/, and the apex file is used for storing various libraries, such as an original VNDK library in V33 version and an original VNDK library in V31 version. The clapping server may replace the corresponding version of the original VNDK library in the apex file according to the version of the extension VNDK library, for example, replace the V31 version of the original VNDK library in the apex file with the V31 version of the extension VNDK library, where the apex file contains the extension VNDK library. And after the VNDK library in the system images is replaced, the shooting and packing server repacks the images to obtain an upgrade package of the operating system of the electronic equipment.
Illustratively, as shown in FIG. 8, the clapping server may obtain a version image of the T-version operating system and an extended VNDK library of the V31 version, and the clapping server may isolate the original VNDK library in the T-version system component, which includes a vendor component, the T-version system component, the V33 version original VNDK library, and the V31 version original VNDK library. The clapping server replaces the original VNDK library of the V31 version in the T-version operating system with the expansion VNDK library of the V31 version to generate a system upgrade package, wherein the upgrade package comprises: a vendor component, a T version system component, a V33 version of the original VNDK library, and a V31 version of the extension VNDK library. Therefore, the modification of the VNDK library by the provider can be reserved in the new version of the operating system, so that all functions can still be normally used after the electronic equipment system is upgraded, and the user experience is improved.
Fig. 9 is a schematic diagram showing interaction of the modules. Referring to fig. 9, a process of an upgrade method of an operating system provided in an embodiment of the present application specifically includes:
S901, an archiving server obtains a plurality of versions of extension VNDK files.
Illustratively, the extension VNDK library is obtained by modifying and compiling the source code of the original VNDK library by a vendor, for example, the vendor modifies and compiles the source code of the original VNDK library to obtain the extension VNDK library in order to improve the performance of the electronic device, add a new API or a new function. The provider may upload multiple versions of the extension VNDK library to the archive server, multiple versions of the extension VNDK file, e.g., the V30 version of the extension VNDK library, the V31 version of the extension VNDK library, and the V33 version of the extension VNDK library, each version of the extension VNDK library having a different number of functions.
S902, the clapping server acquires a version image of the latest version operating system of the electronic device.
For example, the ladle server may obtain a version image of the latest version operating system of the electronic device from the system developer's network, where the version image includes various images, such as partition table image gpt.img, boot related image (xloader.img, boot. Img), chip image vendor.img, system image system.img, super image super.img, user data image img, and so on. In some version images of high-version operating systems, both the chip image and the system image are packaged in a super image, and the chip image and the system image can be obtained after unpacking the super image. The latest version of the operating system is, for example, the operating system of version T (Android 13).
S903, the clapping server determines a target version number of a VNDK library of the vendor mirror relationship in the version mirror.
For example, a system image may be unpacked to obtain a system file that contains a property file, with a storage path for the property file such as/system/build. Version attribute ro.vndk.version is found in the properties file and used to identify the version number of VNDK. The target version number of the VNDK library of vendor image associations in the version image may be determined from the value of the attribute ro.vndk.version. For example, ro.vndk.version=31, then the target version number of the VNDK library of vendor mirror correlations in the version image is 31.
S904, the clapping server generates a request for acquiring the library according to the target version number.
Illustratively, the clapping server generates an acquire library request carrying the target version number, which is used to instruct the archiving server to return the extended VNDK library of the target version number to the clapping server.
S905, the clapping server sends a request for acquiring a library to the archiving server.
S906, the archiving server determines a target extension VNDK library from the extension VNDK libraries of the multiple versions according to the target version number.
For example, after the capturing server obtains the version image, the capturing server may send a library obtaining request to the archiving server, where the library obtaining request is used to instruct the archiving server to send an extension VNDK library to the capturing server; the archive server receives the get library request and sends the target extension VNDK library to the parcel server in response to the get library request. Here, since the archive server may include multiple versions of the extension VNDK library, in order to obtain the desired version of the extension VNDK library, the obtain library request carries the target version number. Thus, upon receiving the get library request, the archive server may determine a target extension VNDK library of the target version number from the locally stored multiple versions of extension VNDK libraries according to the target version number. Further, the archiving server sends the target extension VNDK library to the clapping server in response to the get library request.
For example, the vendor image in the version image correlates VNDK with the target version number ro.vndk.version=31 of the library, the information of ro.vndk.version=31 is carried in the get library request, and the package server sends the get library request to the archive server. The archive server determines a locally stored target extension VNDK library with version number v31 based on the information of ro.vndk.version=31 in the acquisition request, and sends the target extension VNDK library with version number v31 to the parcel server. The target extension VNDK library with the version number of v31 is provided for an operating system with the version S (Android 12) by a provider, and the original VNDK library is obtained after source code modification and compiling.
S907, the archiving server sends the target extension VNDK library to the clapping server.
S908, the system images in the version images are unpacked by the shooting and packing server to obtain the system files.
Illustratively, the system image in the version image is unpacked by the shooting and packing server to obtain a system file; the system file contains an apex file, which is used to store various libraries.
S909, the clapping server adds the target extension VNDK library to the apex file in the system file.
By way of example, an apex file may include multiple versions of an original VNDK library, such as a V33 version of an original VNDK library, a V31 version of an original VNDK library, a V30 version of an original VNDK library, and so forth. Since the original VNDK library and the extension VNDK library of the same version cannot coexist, the clapping server triggers the replacement of the VNDK library in the process of adding the target extension VNDK library to the apex file. For example, the target version number of the target extension VNDK library is 31, and then the target extension VNDK library would replace the V31 version of the original VNDK library when the target extension VNDK library is added to apex. Briefly, the clapping server may replace the original VNDK library with the same version number in the apex file with the target extension VNDK library according to the version number of the target extension VNDK library to add the target extension VNDK library to the apex file in the system file.
S910, the clapping server repacks the system file into a system image, and packages the system image and the vendor image to obtain an upgrade package.
Illustratively, the system image, i.e., system. Img, is generated by the system server packaging the system files; and then carrying out full-quantity packaging on the system image and the vendor image to obtain an upgrade package.
S911, the clapping server sends the upgrade package to the OTA server.
Illustratively, in some implementations, the upgrade package may be actively uploaded to the OTA server by the package beating server when the new version of the upgrade package is detected, or the upgrade package newly issued may be actively uploaded to the OTA server at regular time according to a preset period.
For example, in other implementations, the condition for the clapping server to upload the upgrade package may be to upload the newly published upgrade package to the OTA server after receiving the request of the OTA server.
Illustratively, in some implementations, to avoid occupation of the space of the OTA server by the redundancy version, the OTA server may traverse the saved upgrade package periodically to clear the redundancy version.
Illustratively, in other implementations, to further reduce space occupation of the OTA server, the OTA server may periodically clean up upgrades of old versions.
S912, the electronic device searches whether an upgrade package exists in the OTA server, if yes, S913 is executed, and if not, S912 is executed continuously.
S913, the electronic device sends a request for acquiring the upgrade package to the OTA server.
S914, the OTA server responds to the request for obtaining the upgrade package and issues the upgrade package to the electronic equipment.
It can be appreciated that, in general, an upgrade package for upgrading an operating system installed in an electronic device is made by a package server and then uploaded to an OTA server for management in the face of a massive user population. The OTA server performs data interaction with the accessed electronic equipment, namely, a communication link is established between the OTA server and the electronic equipment. Thus, in some implementations, the electronic device may actively initiate a search request to the OTA server to determine whether an upgrade package corresponding to the new version of the operating system exists in the OTA server.
In other implementations, the OTA server may actively push the notification information to notify the electronic device that the new version of the upgrade package of the operating system currently exists when detecting that the new version of the upgrade package of the operating system corresponds to the new version of the operating system.
For convenience of explanation, in this embodiment, the electronic device actively initiates a search request to the OTA server, and searches whether an upgrade package corresponding to a new version of the operating system exists in the OTA server.
Correspondingly, if the updating packet corresponding to the new version of the operating system exists in the OTA server, the electronic equipment sends a request for acquiring the updating packet to the OTA server, otherwise, a search request is initiated to the OTA server at regular time according to the set search period, or the search request is initiated to the OTA server when the user triggers.
Illustratively, as in (3) of fig. 1, in response to the user clicking to check the operation of the update 1031, the electronic device searches for the presence of an upgrade package in the OTA server. If present, as in (4) of FIG. 1, the display interface 104 of the electronic device, the interface 104 includes a description of the latest version of the operating system, and downloads and installs 1041. In response to the user clicking the download and install 1041 operation, the electronic device sends an upgrade package acquisition request to the OTA server, where the upgrade package acquisition request is used to instruct the OTA server to issue an upgrade package to the electronic device. And the OTA server responds to the request for acquiring the upgrade package and transmits the upgrade package to the electronic equipment.
S915, the electronic device performs version upgrade on the current operating system based on the upgrade package.
For example, the electronic device may upgrade the current operating system to the latest version by installing an upgrade package as described with respect to fig. 2.
The present embodiment also provides a computer storage medium having stored therein computer instructions that, when executed on an electronic device, cause the electronic device to execute the above-described related method steps to implement the method for upgrading an operating system in the above-described embodiments.
The present embodiment also provides a computer program product, which when run on a computer, causes the computer to perform the above-mentioned related steps to implement the method for upgrading an operating system in the above-mentioned embodiments.
In addition, embodiments of the present application also provide an apparatus, which may be embodied as a chip, component or module, which may include a processor and a memory coupled to each other; the memory is used for storing computer execution instructions, and when the device runs, the processor can execute the computer execution instructions stored in the memory, so that the chip executes the upgrading method of the operating system in each method embodiment.
The electronic device (such as a mobile phone) provided in this embodiment, the computer storage medium, the computer program product or the chip are used to execute the corresponding method provided above, so that the beneficial effects thereof can be referred to the beneficial effects in the corresponding method provided above, and will not be described herein.
It will be appreciated by those skilled in the art that, for convenience and brevity of description, only the above-described division of the functional modules is illustrated, and in practical application, the above-described functional allocation may be performed by different functional modules according to needs, i.e. the internal structure of the apparatus is divided into different functional modules to perform all or part of the functions described above.
In the several embodiments provided by the present application, it should be understood that the disclosed apparatus and method may be implemented in other manners. For example, the apparatus embodiments described above are merely illustrative, e.g., the division of modules or units is merely a logical function division, and there may be additional divisions when actually implemented, e.g., multiple units or components may be combined or integrated into another apparatus, or some features may be omitted or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, which may be in electrical, mechanical or other form.
The above embodiments are only for illustrating the technical solution of the present application, and not for limiting the same; although the application has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical scheme described in the foregoing embodiments can be modified or some technical features thereof can be replaced by equivalents; such modifications and substitutions do not depart from the spirit of the application.

Claims (12)

1. An upgrade method of an operating system, applied to a first server, the method comprising:
Acquiring a version image of an operating system of the latest version of the electronic equipment; the version mirror integrates various functional files and configurations related to the starting or running process of the electronic equipment;
Acquiring a target extension provider native development kit VNDK library from a second server according to the version image; the target extension VNDK library is obtained by modifying and compiling source codes of the original VNDK library with the same version; the original VNDK libraries are a set of libraries for vendor development hardware abstraction layers, HALs;
Adding the target extension VNDK library into the unpacked version image, and repackaging the unpacked version image to obtain an upgrade package;
the upgrade package is sent to a third server; the electronic equipment is used for acquiring an upgrade package from the third server and upgrading the version of the current operating system based on the upgrade package.
2. The method of claim 1, wherein the version images comprise a first image and a second image; the first mirror image is used for realizing core functions of an operating system, a user interface and an application program framework; the second image is used to implement vendor extended executable programs, libraries, and system services.
3. The method of claim 2, wherein adding the target extension VNDK library to the unpacked version image and repackaging the unpacked version image to obtain an upgrade package comprises:
Unpacking the first mirror image to obtain a system file; the system file comprises a target file, wherein the target file is used for storing various libraries;
adding the target extension VNDK library to the target file;
and repackaging the system file into a first image, and packaging the packaged first image and the second image to obtain the upgrade package.
4. The method of claim 3, wherein the target file contains a plurality of different versions of an original VNDK library; the adding the target extension VNDK library to the target file includes:
and replacing the original VNDK library with the same version number in the target file with the target extension VNDK library according to the version number of the target extension VNDK library.
5. The method of claim 2, wherein the obtaining the target extension VNDK library from the second server based on the system image file comprises:
determining a version number of a VNDK library of the second mirror relationship;
sending a first acquisition request to the second server; the first obtaining request carries the version number of the VNDK library of the second mirror relationship;
And receiving a target extension VNDK library sent by the second server in response to the first acquisition request.
6. The upgrade method of the operating system is characterized by being applied to a second server, wherein the second server is used for storing various versions of extension VNDK libraries, the extension VNDK library is obtained by modifying and compiling source codes of an original VNDK library, and the original VNDK library is a group of libraries for developing HAL by suppliers; the method comprises the following steps:
Receiving a first acquisition request sent by a first server; the first acquisition request is generated by the first server according to the version mirror image of the latest version operating system of the electronic equipment; the version mirror integrates various functional files and configurations related to the starting or running process of the electronic equipment;
determining a target extension VNDK library from a plurality of versions of extension VNDK libraries according to the first acquisition request;
Sending the target extension VNDK library to the first server; the first server is configured to add the target extension VNDK library to the unpacked version image, and repackage the unpacked version image to obtain an upgrade package; the first server is further configured to send the upgrade package to a third server; the electronic equipment is used for acquiring the upgrade package from the third server and carrying out version upgrade on the current operating system based on the upgrade package.
7. The method of claim 6, wherein the version images comprise a first image and a second image; the first mirror image is used for realizing core functions of an operating system, a user interface and an application program framework; the second image is used to implement vendor extended executable programs, libraries, and system services.
8. The method of claim 7, wherein the first get request carries a version number of an extension VNDK library of the second mirror relationship;
The determining, according to the first obtaining request, a target extension VNDK library from multiple versions of extension VNDK libraries includes:
A target extension VNDK library is determined from the plurality of extension VNDK libraries based on the version number of the VNDK library of the second mirror relationship.
9. An upgrade method of an operating system, applied to an electronic device, the method comprising:
Sending a second acquisition request to a third server under the condition that the presence of an upgrade package in the third server is detected; the upgrade package is obtained by adding a target extension VNDK library to the unpacked version image by the first server and repackaging the unpacked version image; the version mirror image is the mirror image of the latest operating system of the electronic equipment, and integrates various functional files and configurations related to the starting or running process of the electronic equipment; the target extension VNDK library is obtained from a second server based on the version mirror image for the first server; the target extension VNDK library is obtained by modifying and compiling source codes of the original VNDK library with the same version; the original VNDK libraries are a set of libraries for vendor development services;
receiving an upgrade package sent by the third server in response to the second acquisition request;
and carrying out version upgrading on the current operating system based on the upgrading package.
10. A server, comprising:
one or more processors;
a memory;
And one or more computer programs, wherein the one or more computer programs are stored on the memory, which when executed by the one or more processors, cause the server to perform the steps of:
Acquiring a version image of an operating system of the latest version of the electronic equipment; the version mirror integrates various functional files and configurations related to the starting or running process of the electronic equipment;
Acquiring a target extension VNDK library from a second server according to the version image; the target extension VNDK library is obtained by modifying and compiling source codes of the original VNDK library with the same version; the original VNDK libraries are a set of libraries for vendor development services;
Adding the target extension VNDK library into the unpacked version image, and repackaging the unpacked version image to obtain an upgrade package;
the upgrade package is sent to a third server; the electronic equipment is used for acquiring an upgrade package from the third server and upgrading the version of the current operating system based on the upgrade package.
11. A server, comprising:
one or more processors;
a memory;
And one or more computer programs, wherein the one or more computer programs are stored on the memory, which when executed by the one or more processors, cause the server to perform the steps of:
Receiving a first acquisition request sent by a first server; the first acquisition request is generated by the first server according to the version mirror image of the latest version operating system of the electronic equipment; the version mirror integrates various functional files and configurations related to the starting or running process of the electronic equipment;
Determining a target extension VNDK library from a plurality of versions of extension VNDK libraries according to the first acquisition request; the plurality of versions of extensions VNDK are stored on the memory; the extension VNDK library is obtained by modifying and compiling source codes of an original VNDK library, and the original VNDK library is a group of libraries for developing HAL by suppliers;
Sending a target extension VNDK library to the first server; the first server is configured to add the target extension VNDK library to the unpacked version image, and repackage the unpacked version image to obtain an upgrade package; the first server is further configured to send the upgrade package to a third server; the electronic equipment is used for acquiring the upgrade package from the third server and carrying out version upgrade on the current operating system based on the upgrade package.
12. An electronic device, comprising:
one or more processors;
a memory;
And one or more computer programs, wherein the one or more computer programs are stored on the memory, which when executed by the one or more processors, cause the electronic device to perform the steps of:
Sending a second acquisition request to a third server under the condition that the presence of an upgrade package in the third server is detected; the upgrade package is obtained by adding a target extension VNDK library to the unpacked version image by the first server and repackaging the unpacked version image; the version mirror image is the mirror image of the latest operating system of the electronic equipment, and integrates various functional files and configurations related to the starting or running process of the electronic equipment; the target extension VNDK library is obtained from a second server based on the version mirror image for the first server; the target extension VNDK library is obtained by modifying and compiling source codes of the original VNDK library with the same version; the original VNDK libraries are a set of libraries for vendor development HALs;
receiving an upgrade package sent by the third server in response to the second acquisition request;
and carrying out version upgrading on the current operating system based on the upgrading package.
CN202410361816.0A 2024-03-28 2024-03-28 Upgrading method of operating system, server and electronic equipment Active CN117971305B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410361816.0A CN117971305B (en) 2024-03-28 2024-03-28 Upgrading method of operating system, server and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410361816.0A CN117971305B (en) 2024-03-28 2024-03-28 Upgrading method of operating system, server and electronic equipment

Publications (2)

Publication Number Publication Date
CN117971305A true CN117971305A (en) 2024-05-03
CN117971305B CN117971305B (en) 2024-08-27

Family

ID=90846332

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410361816.0A Active CN117971305B (en) 2024-03-28 2024-03-28 Upgrading method of operating system, server and electronic equipment

Country Status (1)

Country Link
CN (1) CN117971305B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103995696A (en) * 2014-04-21 2014-08-20 深圳天珑无线科技有限公司 Custom-built system and method of software package of mobile terminal
CN113031980A (en) * 2019-12-24 2021-06-25 华为技术有限公司 OTA system software upgrading control method and terminal equipment
CN114924785A (en) * 2022-05-30 2022-08-19 重庆长安汽车股份有限公司 Vehicle-mounted system configuration method, device, system, vehicle, electronic equipment and medium
CN115268969A (en) * 2022-08-29 2022-11-01 亿咖通(湖北)技术有限公司 Android system upgrading method and device and terminal equipment
CN115480798A (en) * 2021-06-15 2022-12-16 荣耀终端有限公司 Operating system upgrading method, operating system upgrading device, operating system storage medium and computer program product
WO2023015956A1 (en) * 2021-08-09 2023-02-16 荣耀终端有限公司 Method for controlling camera, and electronic device and computer-readable storage medium
US20240012652A1 (en) * 2021-06-15 2024-01-11 Honor Device Co., Ltd. Operating system upgrade method, device, storage medium, and computer program product

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103995696A (en) * 2014-04-21 2014-08-20 深圳天珑无线科技有限公司 Custom-built system and method of software package of mobile terminal
CN113031980A (en) * 2019-12-24 2021-06-25 华为技术有限公司 OTA system software upgrading control method and terminal equipment
CN115480798A (en) * 2021-06-15 2022-12-16 荣耀终端有限公司 Operating system upgrading method, operating system upgrading device, operating system storage medium and computer program product
US20240012652A1 (en) * 2021-06-15 2024-01-11 Honor Device Co., Ltd. Operating system upgrade method, device, storage medium, and computer program product
WO2023015956A1 (en) * 2021-08-09 2023-02-16 荣耀终端有限公司 Method for controlling camera, and electronic device and computer-readable storage medium
CN114924785A (en) * 2022-05-30 2022-08-19 重庆长安汽车股份有限公司 Vehicle-mounted system configuration method, device, system, vehicle, electronic equipment and medium
CN115268969A (en) * 2022-08-29 2022-11-01 亿咖通(湖北)技术有限公司 Android system upgrading method and device and terminal equipment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
戈壁老王: "Android VNDK简介", pages 1 - 17, Retrieved from the Internet <URL:https://segmentfault.com/a/1190000021547354> *

Also Published As

Publication number Publication date
CN117971305B (en) 2024-08-27

Similar Documents

Publication Publication Date Title
EP4002108B1 (en) Application start method and electronic device
CN110865837B (en) Method and terminal for system upgrade
CN112988213B (en) Program data updating method, electronic equipment and computer storage medium
CN112527301B (en) Method for realizing application plug-in and electronic equipment
CN113727333B (en) Downloading system for custom applications
CN112860445B (en) Method and terminal for sharing data between fast application and native application
WO2021073337A1 (en) Method and apparatus for installing plug-in, and storage medium
CN115309431B (en) Parameter updating method, readable medium and electronic equipment
CN113485709B (en) Application optimization method and device and electronic equipment
CN113608753A (en) Application uninstalling method, application recovery method, electronic device and storage medium
CN114816463A (en) Upgrade prompting method, terminal device and computer readable storage medium
CN115941674B (en) Multi-device application connection method, device and storage medium
CN116700601B (en) Memory optimization method, equipment and storage medium
CN114443117B (en) Custom package processing method and electronic equipment
CN117971305B (en) Upgrading method of operating system, server and electronic equipment
CN111158735A (en) Hot patch file processing method and communication terminal
CN114675786A (en) Large-capacity storage mounting method, device, terminal and medium
CN113254132A (en) Application display method and related device
CN114138343A (en) Terminal and terminal starting method
CN116743908B (en) Wallpaper display method and related device
CN117707563B (en) Application resource processing method and related equipment
CN117009023B (en) Method for displaying notification information and related device
CN114816169B (en) Desktop icon display method and device and storage medium
CN116048544B (en) Processing method of popup advertisement, electronic equipment and readable storage medium
CN116048829B (en) Interface calling method, device and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant