WO2021052167A1 - 一种实现应用插件化的方法及电子设备 - Google Patents

一种实现应用插件化的方法及电子设备 Download PDF

Info

Publication number
WO2021052167A1
WO2021052167A1 PCT/CN2020/112848 CN2020112848W WO2021052167A1 WO 2021052167 A1 WO2021052167 A1 WO 2021052167A1 CN 2020112848 W CN2020112848 W CN 2020112848W WO 2021052167 A1 WO2021052167 A1 WO 2021052167A1
Authority
WO
WIPO (PCT)
Prior art keywords
plug
application
electronic device
interface
basic module
Prior art date
Application number
PCT/CN2020/112848
Other languages
English (en)
French (fr)
Inventor
周平科
童碧峰
周犇
马宇驰
郑志超
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2021052167A1 publication Critical patent/WO2021052167A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons

Definitions

  • This application relates to the technical field of electronic equipment, and in particular to a method and electronic equipment for implementing plug-in applications.
  • Electronic devices can provide services to users through various applications (applications, APPs).
  • applications applications, APPs
  • the corresponding suppliers provide special development solutions.
  • Google officially provides the BundleAPP solution.
  • the principle of the BundleAPP solution is: the developer needs to develop all the functions of the application, and divide the application into a basic module and at least one feature module through the tool when compiling, and divide each module according to different Resource configuration is further divided into multiple resource configuration modules.
  • the basic module is used to realize the basic function of the application
  • the characteristic model is used to realize the extended function of the application.
  • the file format of the basic module is base.apk
  • the file format of the feature module is split.apk.
  • the functions realized by the basic module are photography and video recording
  • the characteristic module is used to realize the shooting of extended functions such as night scenes, gourmet food, and panoramic views. It should be noted that the implementation of application extension functions depends on the basic functions of the application.
  • the basic module and each feature module can also be divided into multiple resource configuration modules.
  • the feature 2 module can be divided into at least one divided by resolution according to picture resources, instruction resources, and language resources. Picture resource, at least one dynamic library resource divided by CPU instruction set, and at least one language resource classified by language.
  • the application is developed as a whole, it is divided into multiple modules at the compilation stage. Therefore, there is a calling relationship (ie mutual dependence) between the divided modules. Therefore, each module needs to be developed and compiled at the same time.
  • all modules of the application need to be packaged as a whole and released to the application market.
  • the electronic device downloads the installation package of the entire application according to the push of the application market to update or install the application.
  • This application provides a method and electronic device for realizing application plug-inization, which are used to realize the independent development and release of application plug-ins, so as to improve the efficiency of application development and the flexibility of applications.
  • the embodiments of the present application provide a method for realizing application plug-inization, and the method can be applied to the application scenario shown in FIG. 2.
  • the method is: after the electronic device has installed the basic module of the application, the electronic device downloads the plug-in of the application from the server, and then installs the plug-in.
  • the basic module is used to implement basic functions of the application
  • the plug-in is used to implement extended functions of the application.
  • the electronic device can download and install the plug-in of the application from the server on the premise that the basic module of the application is installed in advance, so as to expand the function of the application. Since electronic devices can independently download plug-ins from the server, the development, release, and download and installation processes of plug-ins do not need to rely on basic modules. Therefore, the solution can realize independent development and release of applications, improve the efficiency of application development, and improve application performance. flexibility.
  • the development environment of the plug-in is the same as the development environment of the basic module. In this way, it can be ensured that the plug-in and the basic module can be installed and run in the same device.
  • the electronic device determines that the identification information of the plug-in is the same as the identification information of the basic module.
  • the identification information is used to determine the application to which the plug-in belongs, and the identification information of the basic module is used to determine the application to which the basic module belongs.
  • the identification information of the plug-in/basic module may include the package name and signature. In this way, it can be ensured that the plug-in downloaded by the electronic device and the installed basic module belong to the same application, which avoids downloading the plug-in of an application that is not installed locally, which causes a waste of resources.
  • the electronic device determines that the version number of the plug-in is compatible with the version number of the basic module. In this way, before downloading the plug-in from the server, the electronic device can determine whether the installed basic module is compatible with the plug-in by judging whether the version number of the plug-in is compatible with the version number of the basic module, so as to avoid downloading that is not compatible with the installed basic module. Compatible plug-ins cause waste of resources.
  • the electronic device determining that the version number of the plug-in is compatible with the version number of the basic module includes: the electronic device determines that the field indicating the plug-in interface in the version number of the plug-in is compatible with the The fields of the plug-in interface indicated in the version number of the base module are the same. In this way, the plug-in and the basic module can be accessed based on the same plug-in interface to achieve compatibility.
  • the electronic device determines that the file package of the plug-in includes a plug-in indication configuration file. In this way, the electronic device can recognize that the attribute of the file package of the plug-in is a plug-in.
  • the plug-in is compiled through a plug-in interface provided by the basic module.
  • the electronic device is equipped with a display screen, and when the electronic device determines that the plug-in is stored in the server, prompt information may be displayed on the display screen, and the prompt information is used to prompt the user Downloading the plug-in; then, after detecting the download operation input by the user, the electronic device downloads the plug-in from the server in response to the download operation.
  • the electronic device can display the plug-in pushed by the server on the display screen to reflect the download and installation of the user, thereby improving the user experience.
  • the electronic device may, but is not limited to, display the prompt information on the display screen in the following manner:
  • Manner 1 The electronic device displays the prompt information in a notification bar displayed on the display screen.
  • Manner 2 After opening the application, the electronic device displays an application interface on the display screen, and displays the prompt information on the application interface.
  • Manner 3 After opening the plug-in management function in the application, the electronic device displays the plug-in management function interface on the display screen, and displays the prompt information on the plug-in management function interface.
  • Manner 4 After opening the management application, the electronic device displays the management application interface on the display screen, and displays the prompt information on the management application interface.
  • the plug-in after the plug-in is installed in the electronic device, the plug-in can also be uninstalled independently. Through this design, users can uninstall plug-ins according to personal needs without affecting the use and functions of the application.
  • the embodiments of the present application also provide a display method, which is applied to an electronic device equipped with a display screen, and the method can be applied to the application scenario shown in FIG. 2.
  • the method includes: when the electronic device determines that the plug-in of the application is stored in the server, displaying prompt information on the display screen, the prompt information is used to prompt the user to download the plug-in; wherein, the electronic device has installed the plug-in
  • the basic module of the application the basic module is used to implement the basic functions of the application, the plug-in is used to implement the extended functions of the application; after the electronic device detects the download operation input by the user, it responds to the The download operation is to download the plug-in from the server; finally, the electronic device can install the plug-in.
  • the electronic device may, but is not limited to, display the prompt information on the display screen in the following manner:
  • Manner 1 The electronic device displays the prompt information in a notification bar displayed on the display screen.
  • Manner 2 After opening the application, the electronic device displays an application interface on the display screen, and displays the prompt information on the application interface.
  • Manner 3 After opening the plug-in management function in the application, the electronic device displays the plug-in management function interface on the display screen, and displays the prompt information on the plug-in management function interface.
  • Manner 4 After opening the management application, the electronic device displays the management application interface on the display screen, and displays the prompt information on the management application interface.
  • an embodiment of the present application also provides an electronic device, including a unit or module for executing each step of the above-mentioned various aspects.
  • the present application provides an electronic device, including at least one processing element and at least one storage element, wherein the at least one storage element is used to store programs and data, and the at least one processing element is used to execute various aspects of the present application Method provided in.
  • an embodiment of the present application also provides a computer storage medium, the storage medium stores a software program, and the software program can implement various aspects or any of them when read and executed by one or more processors Design the method provided.
  • the embodiments of the present application also provide a computer program product containing instructions, which when run on a computer, cause the computer to execute the above-mentioned aspects or any of the methods provided by the design.
  • an embodiment of the present application provides a chip system, which includes a processor, and is configured to support an electronic device to implement the functions involved in each of the foregoing aspects.
  • the chip system further includes a memory, and the memory is used to store necessary program instructions and data of the electronic device.
  • the chip system can be composed of chips, or include chips and other discrete devices.
  • an embodiment of the present application also provides a graphical user interface on an electronic device, wherein the electronic device has a display screen, a memory, and a processor, and the processor is configured to execute A computer program, and the graphical user interface includes a graphical user interface displayed when the electronic device executes the method described in the second aspect.
  • Figure 1 is a schematic diagram of the BundleAPP solution provided by the prior art
  • FIG. 2 is a schematic diagram of an application scenario of application plug-in provided by an embodiment of the application
  • FIG. 3 is a schematic diagram of the version number form of the plug-in/basic module provided by the embodiment of the application;
  • FIG. 4A is a schematic diagram of access between a plug-in and a basic module provided by an embodiment of the application
  • 4B is a schematic diagram of the operating environment of the plug-in provided by the embodiment of the application.
  • 5A is an example diagram of a functional combination of a camera application provided by an embodiment of this application.
  • FIG. 5B is an example diagram of a function combination of an AI application provided by an embodiment of this application.
  • FIG. 6 is a structural diagram of a server provided by an embodiment of this application.
  • FIG. 7 is a structural diagram of an electronic device provided by an embodiment of the application.
  • FIG. 8 is a software structure diagram of an electronic device provided by an embodiment of this application.
  • FIG. 9 is a flowchart of a method for application plug-inization provided by an embodiment of the application.
  • FIG. 10A is an example diagram of an interface for displaying prompt information provided by an embodiment of the application.
  • 10B is an example diagram of an interface for displaying prompt information provided by an embodiment of the application.
  • FIG. 10C is an example diagram of an interface for displaying prompt information provided by an embodiment of the application.
  • FIG. 10D is an example diagram of an interface for displaying prompt information provided by an embodiment of the application.
  • FIG. 10E is an example diagram of an interface for displaying prompt information provided by an embodiment of the application.
  • 10F is an example diagram of an interface for displaying prompt information provided by an embodiment of the application.
  • 10G is an example diagram of an interface for displaying prompt information provided by an embodiment of the application.
  • 10H is an example diagram of an interface for displaying prompt information provided by an embodiment of the application.
  • FIG. 10I is an example diagram of an interface for displaying prompt information provided by an embodiment of the application.
  • 10J is an example diagram of an interface for displaying prompt information provided by an embodiment of the application.
  • FIG. 10K is an example diagram of an interface for displaying prompt information provided by an embodiment of the application.
  • FIG. 10L is an example diagram of an interface for displaying prompt information provided by an embodiment of the application.
  • FIG. 11 is a structural diagram of an electronic device provided by an embodiment of this application.
  • FIG. 12 is a structural diagram of an electronic device provided by an embodiment of this application.
  • the present application provides a method and electronic device for realizing application plug-inization, which are used to realize independent development and release of application plug-ins, so as to improve the efficiency of application development and the flexibility of applications.
  • the method and the electronic device are based on the same technical concept. Since the method and the principle of the electronic device to solve the problem are similar, the implementation of the electronic device and the method can be referred to each other, and the repetition will not be repeated.
  • the electronic device can download and install the plug-in of the application from the server on the premise that the basic module of the application is installed in advance, so as to extend the function of the application. Since electronic devices can independently download plug-ins from the server, the development, release, and download and installation processes of plug-ins do not need to rely on basic modules. Therefore, the solution can realize independent development and release of applications, improve the efficiency of application development, and improve application performance. flexibility.
  • An electronic device is a device that provides users with various service functions such as voice, video, shooting, and data connectivity.
  • electronic devices can be: mobile phones (mobile phones), tablet computers, notebook computers, handheld computers, mobile internet devices (MID), smart point of sale (POS), wearable devices, virtual reality Virtual reality (VR) equipment, augmented reality (AR) equipment, wireless terminals in industrial control, wireless terminals in self-driving (self-driving), etc.
  • MID mobile point of sale
  • POS smart point of sale
  • wearable devices virtual reality Virtual reality (VR) equipment
  • AR augmented reality
  • wireless terminals in industrial control wireless terminals in self-driving (self-driving), etc.
  • Applications are used to install in electronic devices and have the function of providing services to users. For example, camera applications that provide shooting services, WeChat applications and QQ applications that provide chat services, iQiyi and Tencent video applications that provide video services, and QQ music applications that provide music services. Kuwo Music App, etc.
  • the application may be developed by the manufacturer of the electronic device, or developed for the supplier of the operating system of the electronic device, or developed by a third-party application manufacturer, which is not limited in this application.
  • the initial camera application generally has two basic functions: taking pictures and recording videos.
  • the current camera application adds a number of new extended functions, such as panoramic mode, portrait mode, night scene mode, and so on.
  • Plug-in is a program written in compliance with a certain application program interface, and its function runs under the application (operating platform) specified by the program, and cannot be run separately from the application. Plug-ins can provide applications with extended functions that they do not have.
  • Figure 2 shows an application scenario of the method for implementing application plug-in provided by this application.
  • This application scenario is aimed at the application plug-in of the Android operating system.
  • the application scenario mainly includes: application developers, plug-in developers, servers, and electronic devices. The following describes the functions of each part in conjunction with the method of implementing application plug-in.
  • the application developer is used to develop a basic module of the application, and the basic module is used to implement the basic function of the application.
  • the application developer can use the BundleAPP solution as shown in FIG. 1 to simultaneously develop the basic module of the application and the feature module bound to the basic module (hereinafter may be referred to as DF for short).
  • the application developer needs to use a traditional application development environment to develop the basic module of the application, such as Android Studio.
  • the developer of the application may be a manufacturer of an electronic device, or a supplier of an Android operating system, or a third-party application manufacturer, which is not limited in this application.
  • the plug-in developer may develop at least one plug-in compatible with the basic module developed by the application developer (the subsequent compatibility relationship may be referred to as the correspondence relationship) to extend the functions of the application; or the plug-in developer may develop at least one plug-in compatible with the basic module developed by the application developer.
  • the old version of the plug-in develops a new version of the plug-in. It should be noted that plug-in developers can independently develop each plug-in using the following development rules:
  • the development environment of the plug-in is the same as the development environment of the basic module. For example, if application developers use Android Studio to develop basic modules of applications, plug-in developers also need to use Android Studio to develop application plug-ins.
  • the plug-in developer sets the plug-in identification information to be the same as the identification information of the basic module.
  • the identification information of the plug-in/basic module is used to determine the application to which the plug-in/basic module belongs.
  • the electronic device Before downloading the plug-in, the electronic device can determine whether the plug-in and the basic module belong to the same application by judging whether the identification information of the plug-in is the same as the identification information of the basic module.
  • the identification information may include: package name, signature, and so on.
  • the package name may be an application identifier
  • the signature may be security information, such as a security certificate.
  • the plug-in developer sets the package name of the plug-in to be consistent with the package name of the basic module corresponding to the plug-in, and sets the signature of the plug-in to the signature of the basic module corresponding to the plug-in. Unanimous.
  • the plug-in developer sets the version number of the plug-in to be compatible with the version number of the basic module.
  • the electronic device can determine whether the installed basic module is compatible with the plug-in by judging whether the version number of the plug-in is compatible with the version number of the basic module, so as to avoid downloading that is not compatible with the installed basic module.
  • Compatible plug-ins cause waste of resources.
  • the version number of the plug-in is compatible with the version number of the basic module, including: the field indicating the plug-in interface in the version number of the plug-in is the same as the field of the plug-in interface indicated in the version number of the basic module. That is, before downloading the plug-in from the server, the electronic device needs to determine that the field indicating the plug-in interface in the version number of the plug-in is the same as the field indicating the plug-in interface in the version number of the installed basic module.
  • the first section X is the version number field of the plug-in interface (that is, the field indicating the plug-in interface), and the middle section Y is the version.
  • the version change field of the plug-in interface of the number, the last paragraph Z is the version number of the plug-in/base module.
  • the plug-in interface is Plugin SDK.
  • the plug-in file package developed by the plug-in developer contains the plug-in instruction configuration file.
  • the plug-in indication configuration file is used to indicate that the attribute of the plug-in file package is a plug-in. After the electronic device downloads the file package of the plug-in, before installing the plug-in, it needs to be determined that the file package of the plug-in contains the plug-in instruction configuration file.
  • the plug-in can access the basic module through the Plugin SDK, and the basic module can access the plug-in through the reflection call interface, as shown in Figure 4A.
  • different plug-ins developed for the basic modules of the same application cannot have a dependency calling relationship.
  • the plug-in cannot be accessed and called by modules other than the corresponding basic module, that is, the plug-in cannot bypass the corresponding basic module and expose its functions to the outside.
  • a plug-in developer can provide the com.huawei.plugin. ⁇ splitName>.PluginEntry class in the plug-in for the reflection call of the basic module, and it must inherit from the IPluginEntry interface. Among them, the basic module can load the query reflection call the PluginEntry class to obtain the reflection call interface of the plug-in.
  • the plug-in developer sets all the so/dex files of the plug-in to be packaged into the apk file package, and configures the split.apk file package to not decompress. Among them, so/dex files are all page aligned.
  • the plug-in developed by the plug-in developer needs to run in the operating environment as shown in Figure 4B. It should be understood that whether during the development of the plug-in or after the plug-in is installed in the electronic device, as long as the plug-in is operated by the operating device (device or electronic device used in the development process), the plug-in needs to meet the operating environment.
  • the operating environment of the plug-in is: the operating system of the operating device is the Android operating system, and the basic module is running in the Android operating system. Before the plug-in runs, it needs to be compiled through the Plugin SDK provided by the basic module and the Android SDK provided by the Android operating system. It should also be noted that the basic module is also compiled through Android SDK before running.
  • the file format of the basic module may be base.apk
  • the file format of the plug-in may be the same as the file format of the feature module in the BundleAPP mechanism, which is split.apk.
  • the developers corresponding to different plug-ins can be different or the same.
  • the application developer may be the same as or different from the plug-in developer, which is not limited in this application.
  • the manufacturer of the electronic device can have different functional requirements for the application according to different types of users in the market, and The software and hardware capabilities of electronic devices are different, and multiple functional combination versions of the application are set and preset in the electronic device before the electronic device leaves the factory.
  • FIG. 5A it is assumed that all the functional modules of the camera application are as shown in (a) in FIG. 5A, wherein the photographing function and the video recording function are provided by the basic module, and other functions are provided by the corresponding plug-ins.
  • the manufacturer of the electronic device can set the full-featured version as shown in (b) in Figure 5A, the light-weight feature-combined version as shown in (c) in Figure 5A, and (d) in Figure 5A for the camera application.
  • the super lightweight feature combination version shown shown. Then when the electronic device manufacturer generates the electronic device, it can preset the functional combination version of different camera applications into the corresponding type of electronic device.
  • FIG. 5B Exemplarily, as shown in Figure 5B, it is assumed that all functional modules of an artificial intelligence (artificial intelligence, AI) application are shown in Figure 5B (a), where the AI general algorithm is provided by the basic module, and other functions are provided by the corresponding The plug-in is provided.
  • the manufacturer of the electronic device can set the high-end function combination version as shown in (b) in FIG. 5B and the lightweight function combination version as shown in FIG. 5B(c) for the AI application. Then when the electronic device manufacturer generates the electronic device, it can preset the functional combination version of different camera applications into the corresponding type of electronic device.
  • application developers can publish to the server after developing the basic modules of the application; plug-in developers can also publish to the server after developing each plug-in.
  • the server is responsible for storing basic modules and plug-ins released by application developers and plug-in developers.
  • the server may be a traditional server or a cloud server, which is not limited in this application.
  • the server can set up functional combination versions of multiple applications according to all functional modules of the applications stored locally, for example, as shown in FIG. 5A and FIG. 5B. In this way, the server can push the function combination version of any application to the user, so that the user can flexibly select a specific function combination to download and install.
  • the server can be divided into an application server and a plug-in server.
  • the application server is mainly responsible for storing the basic modules of the application
  • the plug-in server is mainly responsible for storing the plug-ins of the application.
  • the application server can push the basic modules of the stored application to the user.
  • the plug-in server can push the stored latest version of the plug-in to the user.
  • the plug-in server can push the portrait mode plug-in and version of version 1.1.8 to the electronic device The night scene mode plug-in number 1.1.4.
  • the flexibility of plug-in push can be improved, so that the electronic device can obtain/update the plug-in according to the capability or the user's functional requirements.
  • Electronic devices can manage application plug-ins through a series of plug-in management mechanisms.
  • the plug-in management mechanism includes: installation and upgrade, dynamic loading, compatibility check, signature verification, version management, independent uninstallation, etc.
  • the signature verification mechanism is to actively send the identification information (package name, signature, etc.) of the basic module installed on the electronic device to the server during the process of pushing the plug-in to the server, so that the server has pushed the identification information of the basic module for the electronic device Plug-ins with the same information; or in the process of pushing plug-ins from the server, the server sends the identification information of all plug-ins stored to the electronic device, and the electronic device selects the identification information of all plug-ins that are pushed to the plug-ins that are compatible with the installed basic module. It is a plug-in with consistent information for further compatibility checking or subsequent push steps.
  • the version management mechanism saves the installed basic module and the version number of the plug-in for the electronic device for subsequent upgrades of the basic module and plug-in, and compatibility check.
  • the compatibility checking mechanism can be that after the electronic device receives the version number of the plug-in pushed by the server, it matches the version number of the plug-in with the version number of the basic module installed on the electronic device to determine whether the basic module is compatible with the plug-in of the version number.
  • a prompt message for obtaining/updating the plug-in can be displayed on the display screen; when it is determined that the basic module is not compatible with the plug-in of this version number, the prompt message is not displayed on the display screen.
  • the compatibility check mechanism can also match the version number of the plug-in with the version number of the installed basic module of the electronic device after the plug-in is downloaded by the electronic device and before the plug-in is installed, to determine whether the basic mode is compatible with the plug-in of the version number.
  • the plug-in can be installed directly or the user is prompted to install the plug-in; when it is determined that the basic module is not compatible with the plug-in of this version number, the user can be prompted that the version number is incompatible and cannot be installed.
  • the installation upgrade mechanism is used to run the installation package to install the plug-in after the electronic device downloads the installation package of the plug-in from the server.
  • the dynamic loading mechanism is that after the electronic device runs the basic module of the application, it dynamically loads the plug-in through the Plugin SDK provided by the basic module.
  • the independent uninstall mechanism is that after the electronic device installs the plug-in, the plug-in can be uninstalled independently without uninstalling the basic module.
  • the basic module can dynamically load the plug-in through its own Plugin SDK.
  • FIG. 2 only schematically provides an application scenario, and does not limit the application scenario of the method provided in this application.
  • the server 600 includes: a processor 601, a memory 602, a communication interface 603 and other components. Wherein, the processor 601 is connected to other components.
  • the communication interface 603 is used to communicate with other devices.
  • the memory 602 may be used to store computer executable program code, where the executable program code includes instructions.
  • the processor 601 executes various functions of the server by running instructions stored in the memory 602.
  • the memory 602 may include a program storage area and a data storage area.
  • the storage program area can store the operating system of the server, and software code of at least one application program, etc.
  • the storage data area may store the basic module (and DF) released by the application developer, and/or the plug-in released by the plug-in developer.
  • the server can set the function combination of multiple applications according to all the function modules of the application stored locally, the storage data area can also store multiple functional combination versions corresponding to each application.
  • the memory 602 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one magnetic disk storage device, a flash memory device, a universal flash storage (UFS), and the like.
  • the processor 601 may include one or more processor units, such as an application processor (AP), a controller, a memory, and so on.
  • the different processing units can be independent devices or integrated in one or more processors.
  • the controller can be the nerve center and command center of the server, and can generate operation control signals according to instruction operation codes and timing signals, and complete the control of fetching and executing instructions.
  • the processor 601 may interact with the application developer/plug-in developer through the communication interface 603, receive the basic module/plug-in of the application published by the processor 601, and store the basic module/plug-in in the memory 602.
  • the processor 601 may be connected to a communication system (including a core network and an access network) through the communication interface 603, and then connected to an electronic device through the communication system, so as to realize the function of pushing the basic module, plug-in or application of the application to the electronic device. Combination version, and sending the basic module, plug-in or functional combination version to the electronic device to achieve the acquisition or update of the basic module, plug-in or functional combination version of the electronic device.
  • a communication system including a core network and an access network
  • the processor 601 may also be provided with a buffering memory for storing instructions and data.
  • the memory in the processor 601 is a cache memory.
  • the memory can store instructions or data that have just been used or recycled by the processor 601. If the processor 601 needs to use the instruction or data again, it can be directly called from the internal memory. Repeated access from the memory 602 is avoided, the waiting time of the processor 601 is reduced, and the working efficiency of the processor is improved.
  • the structure of the server shown in FIG. 6 does not constitute a limitation of the server, and a server suitable for the application scenario shown in FIG. 2 may include more or fewer components than shown in the figure.
  • the server may also include an external memory interface for connecting an external memory, a display screen, and the like.
  • the electronic device 700 includes a processor 110, an external memory interface 120, an internal memory 121, and a universal serial port.
  • Universal serial bus (USB) interface 130 charging 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, earphone interface 170D, sensor module 180, buttons 190, motor 191, indicator 192, camera 193, display screen 194, subscriber identification module (SIM) card interface 195, etc.
  • USB Universal serial bus
  • the processor 110 may include one or more processing units.
  • the processor 110 may include an application processor (AP), a modem processor, a graphics processing unit (GPU), and an image signal processor. (image signal processor, ISP), controller, memory, video codec, digital signal processor (digital signal processor, DSP), baseband processor, and/or neural-network processing unit (NPU) Wait.
  • the different processing units may be independent devices or integrated in one or more processors.
  • the controller can be the nerve center and command center of the electronic device. The controller can generate operation control signals according to the instruction operation code and timing signals to complete the control of fetching and executing instructions.
  • the processor 110 may access the communication system (including the access network and the core network) through the mobile communication module 150 or the wireless communication module 160, and connect to the server through the communication system, thereby receiving basic modules and plug-ins of applications pushed by the server. Or the function combination version of the application, and the basic module, plug-in or the function combination version of the application downloaded from the server to achieve the acquisition or update of the basic module, plug-in or function combination version of the electronic device.
  • the communication system including the access network and the core network
  • a memory may also be provided in the processor 110 to store instructions and data.
  • the memory in the processor 110 is a cache memory.
  • the memory can store instructions or data that the processor 110 has just used or used cyclically. If the processor 110 needs to use the instruction or data again, it can be directly called from the memory. Repeated accesses are avoided, the waiting time of the processor 110 is reduced, and the efficiency of the system is improved.
  • the USB interface 130 is an interface that complies with the USB standard specification, and specifically may be a Mini USB interface, a Micro USB interface, a USB Type C interface, and so on.
  • the USB interface 130 can be used to connect a charger to charge the electronic device, and can also be used to transfer data between the electronic device and the peripheral device.
  • the charging management module 140 is used to receive charging input from the charger.
  • the power management module 141 is used to connect the battery 142, the charging 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 supplies power to the processor 110, the internal memory 121, the external memory, the display screen 194, the camera 193, and the wireless communication module 160.
  • the wireless communication function of the electronic device can be realized by the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modem processor, and the baseband processor.
  • the antenna 1 and the antenna 2 are used to transmit and receive electromagnetic wave signals.
  • Each antenna in an electronic device can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve antenna utilization.
  • Antenna 1 can be multiplexed as a diversity antenna of a wireless local area network.
  • the antenna can be used in combination with a tuning switch.
  • the mobile communication module 150 may provide a solution for wireless communication including 2G/3G/4G/5G and the like applied to electronic devices.
  • the mobile communication module 150 may include at least one filter, switch, power amplifier, low noise amplifier (LNA), etc.
  • the mobile communication module 150 can receive electromagnetic waves by the antenna 1, and perform processing such as filtering, amplifying and transmitting the received electromagnetic waves to the modem processor for demodulation.
  • the mobile communication module 150 can also amplify the signal modulated by the modem processor, and convert it into electromagnetic wave radiation via the antenna 1.
  • at least part of the functional modules of the mobile communication module 150 may be provided in the processor 110.
  • at least part of the functional modules of the mobile communication module 150 and at least part of the modules of the processor 110 may be provided in the same device.
  • the wireless communication module 160 can provide applications on electronic devices including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), bluetooth (BT), and global navigation satellite systems. (global navigation satellite system, GNSS), frequency modulation (FM), near field communication (NFC), infrared technology (infrared, IR) and other wireless communication solutions.
  • WLAN wireless local area networks
  • BT Bluetooth
  • GNSS global navigation satellite system
  • FM frequency modulation
  • NFC near field communication
  • IR infrared technology
  • the wireless communication module 160 may be one or more devices integrating at least one communication processing module.
  • the wireless communication module 160 receives electromagnetic waves via the antenna 2, frequency modulates and filters the electromagnetic wave signals, and sends the processed signals to the processor 110.
  • the wireless communication module 160 may also receive the signal to be sent from the processor 110, perform frequency modulation and amplification, and convert it into electromagnetic waves to radiate through the antenna 2.
  • the antenna 1 of the electronic device is coupled with the mobile communication module 150, and the antenna 2 is coupled with the wireless communication module 160, so that the electronic device can communicate with the network and other devices through wireless communication technology.
  • the wireless communication technology may include global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), broadband Code division multiple access (wideband code division multiple access, WCDMA), time-division code division multiple access (TD-SCDMA), long term evolution (LTE), BT, GNSS, WLAN, NFC , FM, and/or IR technology, etc.
  • the GNSS may include global positioning system (GPS), global navigation satellite system (GLONASS), Beidou navigation satellite system (BDS), quasi-zenith satellite system (quasi -zenith satellite system, QZSS) and/or satellite-based augmentation systems (SBAS).
  • GPS global positioning system
  • GLONASS global navigation satellite system
  • BDS Beidou navigation satellite system
  • QZSS quasi-zenith satellite system
  • SBAS satellite-based augmentation systems
  • the display screen 194 is a foldable display screen for displaying an interface.
  • the display screen 194 includes a display panel.
  • the display panel can use liquid crystal display (LCD), organic light-emitting diode (OLED), active matrix organic light-emitting diode or active-matrix organic light-emitting diode (active-matrix organic light-emitting diode).
  • LCD liquid crystal display
  • OLED organic light-emitting diode
  • active-matrix organic light-emitting diode active-matrix organic light-emitting diode
  • AMOLED flexible light-emitting diode (FLED), Miniled, MicroLed, Micro-oLed, quantum dot light-emitting diode (QLED), etc.
  • the electronic device may include one or N display screens 194, and N is a positive integer greater than one.
  • the internal memory 121 may be used to store computer executable program code, where the executable program code includes instructions.
  • the processor 110 executes various functional applications and data processing of the electronic device by running 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 can store an operating system, and software code of at least one application (such as a camera application, AI application, etc.), where the operating system can be an Android operating system, and the software code of any application includes: the application
  • the basic module (and the DF bound with the basic module) can also include plug-ins installed on electronic devices.
  • the storage data area can store data (such as images, videos, etc.) generated during the use of the electronic device.
  • the internal memory 121 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one magnetic disk storage device, a flash memory device, a universal flash storage (UFS), and the like.
  • UFS universal flash storage
  • the external memory interface 120 may be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device.
  • the external memory card communicates with the processor 110 through the external memory interface 120 to realize data storage and reading functions. For example, save pictures, videos and other files in an external memory card.
  • the electronic device can implement audio functions through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the earphone interface 170D, and the application processor. For example, music playback, recording, calls, etc.
  • the sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, and the environment Light sensor 180L, bone conduction sensor 180M, etc.
  • the touch sensor 180K is also called "touch panel”.
  • the touch sensor 180K may be disposed in the display screen 194, and the touch screen is composed of the touch sensor 180K and the display screen 194, which is also called a “touch screen”.
  • the touch sensor 180K is used to detect touch operations acting on or near it.
  • the touch sensor can transmit the detected touch operation to the application processor to determine the type of the touch event, and can provide visual output related to the touch operation through the display screen 194.
  • the touch sensor 180K may also be disposed on the surface of the electronic device, which is different from the position of the display screen 194. Since the solution of the present application does not involve the functions of other types of sensors, the description of the functions of other types of sensors will not be expanded here.
  • the button 190 includes a power-on button, a volume button, and so on.
  • the button 190 may be a mechanical button. It can also be a touch button.
  • the electronic device can receive key input, and generate key signal input related to user settings and function control of the electronic device.
  • the motor 191 can generate vibration prompts. The motor 191 can be used for incoming call vibration notification, and can also be used for touch vibration feedback.
  • the indicator 192 may be an indicator light, which may be used to indicate the charging status, power change, or to indicate messages, missed calls, notifications, and so on.
  • the SIM card interface 195 is used to connect to the SIM card. The SIM card can be inserted into the SIM card interface 195 or pulled out from the SIM card interface 195 to achieve contact and separation with the electronic device.
  • the structure of the electronic device shown in FIG. 7 does not constitute a specific limitation on the electronic device, and the electronic device suitable for the application scenario shown in FIG. 2 may also include more or less components than those shown in the figure, or Combine some parts, or split some parts, or arrange different parts.
  • the electronic device shown in FIG. 7 is taken as an example for introduction.
  • an embodiment of the present application also provides a software structure of the electronic device.
  • the software structure of the electronic device can be a layered architecture.
  • the software can be divided into several layers, each with a clear role and division of labor. Communication between layers through software interface.
  • the Android operating system is divided into four layers, from top to bottom, the application layer, the application framework layer (framework, FWK), the Android runtime and system library, and the kernel layer.
  • the application layer can include a series of applications. As shown in Figure 8, the application layer may include applications such as camera, AI application, settings, phone, short message, gallery, calendar and so on.
  • the application framework layer provides an application programming interface (application programming interface, API) and a programming framework for applications in the application layer.
  • the application framework layer can include some predefined functions. As shown in Figure 8, the application framework layer may include: window manager, content provider, view system, phone manager, resource manager, notification manager, etc.
  • the window manager provides a window manager service for windows to control and manage the interface displayed on the display screen.
  • the content provider is used to store and retrieve data and make these data accessible to applications.
  • the data may include videos, images, audios, phone calls made and received, browsing history and bookmarks, phone book, etc.
  • the view system includes visual controls, such as controls that display text, controls that display pictures, and so on.
  • the view system can be used to build the interface of the application.
  • the phone manager is used to provide the communication function of the electronic device. For example, the management of the call status (including connecting, hanging up, etc.).
  • the resource manager provides various resources for the application, such as localized strings, icons, pictures, layout files, video files, and so on.
  • Android runtime includes core libraries and virtual machines.
  • Android runtime is the runtime environment of the Android operating system, responsible for the scheduling and management of the Android operating system.
  • Android runtime can provide a running environment and a compiling environment, as shown in Fig. Shown in 4B.
  • the core library consists of two parts: one part is the function function that the java language needs to call, and the other part is the core library of the Android operating system.
  • the application layer and the application framework layer run in a virtual machine.
  • the virtual machine executes the java files of the application layer and the application framework layer as binary files.
  • the virtual machine is used to perform functions such as object life cycle management, stack management, thread management, security and exception management, and garbage collection.
  • the system library can include multiple functional modules. For example: status detection module, display algorithm module, media libraries, image processing libraries, etc.
  • the state detection module is used to identify the physical form of the foldable display screen of the electronic device.
  • the state detection module can be used to determine the physical form of the foldable display screen according to sensor data uploaded by various sensors in the hardware layer.
  • the display algorithm module is used to determine whether the plug-in needs to be acquired or upgraded according to the plug-in management mechanism inside the electronic device and the version number of the plug-in pushed by the server.
  • the media library supports the playback and recording of audio and video in multiple formats, and supports the opening of static images in multiple formats.
  • the media library can support a variety of audio and video encoding formats, such as: MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, etc.
  • the kernel layer is the layer between the hardware and software of an electronic device.
  • the kernel layer contains at least display drivers, sensor drivers, camera drivers, audio drivers, etc., which are used to drive the hardware in the hardware layer.
  • the hardware layer can include various sensors, displays, cameras, and so on.
  • the embodiment of the present application provides a method for realizing application plug-inization, and the method is suitable for the application scenario shown in FIG. 2.
  • the process of the method includes:
  • the plug-in developer develops the nth version of plug-in 1 compatible with the basic module of the target application in accordance with the plug-in development rules, where n is an integer greater than 0.
  • the development rules can refer to the 8 rules introduced in the above application scenarios, which will not be repeated here.
  • the basic module of the target application is developed by the application developer, and the standard open interface Plugin SDK is released in the basic module so that the plug-in developer can dynamically rely on it to realize the development and compilation of the plug-in, and the plug-in can access the basic through the Plugin SDK.
  • application developers can use the BundleAPP solution to develop a basic module and at least one DF bound to the basic module, which is not limited in this application.
  • the electronic device can follow the nth version of the plug-in 1 through the following three solutions.
  • S902a is the first plan
  • S902b1-S902b4 is the second plan
  • S902c1-S902c5 is the third plan.
  • S902a The manufacturer of electronic equipment can set multiple functional combination versions of the target application according to the different functional requirements of different types of users in the market and the different software and hardware capabilities of the electronic equipment.
  • the functional combination version 1 Contains the basic module and the nth version of plug-in 1.
  • the manufacturer of the electronic device presets the functional combination version 1 into an electronic device whose software and hardware capabilities can support the functional combination version 1.
  • the function combination version 1 may also include other plug-ins, which is not limited in this application.
  • the functional combination version 1 when the application developer develops at least one DF bound to the basic module while using the BundleAPP solution to develop the basic module, the functional combination version 1 also includes the at least one DF.
  • the second scenario is introduced below.
  • the realization condition of this scheme is that the basic module of the target application has been installed or preset in the electronic device.
  • the application developer develops at least one DF bound to the basic module while using the BundleAPP solution to develop the basic module
  • the electronic device is also installed or preset with at least one DF.
  • S902b1 The plug-in developer publishes the nth version of plug-in 1 to the server.
  • S902b2 The server saves the nth version of plug-in 1 in the storage, and pushes the nth version of plug-in 1 to the electronic device through the plug-in pushing process.
  • the push process of the plug-in may be the same as the traditional application push process.
  • the plug-in pushing process may be: the server connects to the electronic device through the communication system, and then obtains the application installation status of the electronic device, as well as the software and hardware capabilities, and then performs the process according to the application installation status of the electronic device, as well as the software and hardware capabilities.
  • Push plug-in the electronic device may use internal signature verification mechanism, version management mechanism, compatibility check mechanism, etc. in the plug-in pushing process to ensure that the plug-in pushed by the server is compatible with the installed basic module of the target application.
  • the server pushes the nth version of plug-in 1 to the electronic device .
  • S902b3 After receiving the push from the server, the electronic device displays a prompt message prompting the user to obtain plug-in 1 on the display screen.
  • the electronic device may, but is not limited to, display the prompt information on the display screen in the following manners, including:
  • Manner 1 The electronic device displays the prompt information in a notification bar. Taking the target application as the camera and the plug-in 1 in the gourmet mode as an example, the interface for displaying the prompt information on the electronic device may be as shown in FIG. 10A.
  • Manner 2 After opening the target application, the electronic device displays an application interface, and displays the prompt information in the application interface.
  • the electronic device may display the prompt information on the application main interface of the camera application after opening the camera application, as shown in FIG. 10B.
  • the electronic device can also set the icon of the plug-in pushed by the server in the application interface.
  • a prompt message is displayed.
  • the application interface of the electronic device displays the slow motion plug-in icon, The night scene plug-in icon, panorama plug-in icon, etc., when the user clicks on the night scene plug-in icon, a prompt message is displayed.
  • the electronic device After opening the plug-in management function in the target application, the electronic device displays the plug-in management function interface, and displays the prompt information in the plug-in management function interface.
  • the plug-in management function interface in the camera application may be the camera application market, and the prompt information about the gourmet mode plug-in in the camera application market is shown in FIG. 10D.
  • the electronic device opens a management application, displays a management application interface, and displays the prompt information in the management application interface.
  • the management application can manage the acquisition, update, and installation of the application of the electronic device, and the acquisition, update, and installation of the plug-in in the application.
  • the management application interface displaying the prompt information of the gourmet mode plug-in in the camera application in the electronic device may be as shown in FIG. 10E.
  • S902b4 When receiving the download operation input by the user, the electronic device downloads the nth version of the plug-in from the server in response to the download operation. After the electronic device downloads the nth version of the plug-in, install the nth version of the plug-in.
  • the download operation may be a user voice input operation, the user operates a physical button of the electronic device, or the user clicks or slides the prompt information on the display screen, which is not limited in this application.
  • the third option is introduced below.
  • the realization condition of this scheme is that the basic module of the target application has been installed or preset in the electronic device.
  • S902c1 The plug-in developer publishes the nth version of plug-in 1 to the server.
  • S902c2 The server saves the nth version of plug-in 1 in the storage. Then the server can set the multiple functional combination version of the target application according to the different functional requirements of different types of users in the market, the different software and hardware capabilities of electronic devices, and the basic modules and various plug-ins of the target application stored locally. , Among them, the functional combination version 1 includes the basic module and the nth version of the plug-in 1.
  • S902c3 The server pushes the function combination version 1 of the target application to the electronic device through the application push process.
  • the application push process is the same as the traditional application push process, and will not be repeated here.
  • S902c4 After receiving the push from the server, the electronic device displays a prompt message prompting the user to obtain the function combination version 1 of the target application on the display screen.
  • the electronic device may, but is not limited to, display the prompt information on the display screen in the following manners, including:
  • Manner 1 The electronic device displays the prompt information in a notification bar. Taking the target application as the camera and the plug-in 1 in the gourmet mode as an example, the interface for displaying the prompt information on the electronic device may be as shown in FIG. 10F.
  • the electronic device opens a management application, displays a management application interface, and displays the prompt information in the management application interface.
  • the management application can manage the acquisition, update, and installation of applications of the electronic device.
  • the management application interface displaying the prompt information of the gourmet mode plug-in in the camera application in the electronic device may be as shown in FIG. 10G.
  • the download operation may be a user's voice input operation, a user's operation of a physical button, or a user's click or slide operation on the prompt information in the display screen, which is not limited in this application.
  • the electronic device realizes the installation of the nth version of the plug-in.
  • the embodiment of this application can not only realize the independent installation of plug-ins, but also realize the independent uninstallation of plug-ins.
  • any version or version of the plug-in when installed on the electronic device, it can be independently uninstalled through the independent uninstall mechanism. Uninstall the installed plugins.
  • plug-in developers After plug-in developers develop plug-in 1, they will continue to update the version of plug-in 1 to improve the functions of plug-in 1. That is, plug-in developers can continue to develop plug-in 1 of version n+1 after developing plug-in 1 of version n. Therefore, the embodiment of the present application can upgrade plug-in 1 (when the electronic device has not uninstalled the nth version of plug-in 1)/obtain (when the electronic device has uninstalled the nth version of plug-in 1) through S903-S907.
  • the electronic device may display the prompt information in the notification bar.
  • the electronic device may display the prompt information on the main interface of the camera application after opening the camera application, as shown in FIG. 10I Show.
  • the electronic device may also set the icon of the plug-in pushed by the server in the application interface.
  • a prompt message is displayed.
  • the application interface of the electronic device displays the slow motion plug-in icon, The night scene plug-in icon, panorama plug-in icon, etc., when the user clicks on the night scene plug-in icon, a prompt message is displayed.
  • the plug-in management function interface in the camera application may be the camera application market, and the prompt information about the watermark mode plug-in in the camera application market is shown in Figure 10K. .
  • the electronic device may also display the prompt information in the management application interface.
  • the management application interface displaying the prompt information of the watermark mode plug-in in the camera application in the electronic device may be as shown in FIG. 10L.
  • the embodiment of the present application can realize independent development, independent release, independent download and installation of plug-in 2 through S908-S912.
  • the electronic device has already installed the basic module of the target application, so the steps of S909-S912 are similar to the steps of solution 2, so you can also refer to the description in solution 2. Go into details.
  • a plug-in means that the plug-in is not installed locally on the electronic device, and it needs to be installed by downloading the plug-in from the server. Therefore, “obtaining a plug-in” can also use “download plug-in”, “install plug-in”, and “install plug-in”. "Add plug-in”, etc. means replacement of words with the same semantics. "Update plug-in” means the version of the locally installed plug-in of the electronic device. It is necessary to download a newer version from the server to upgrade the plug-in. Therefore, "update plug-in” can also be expressed as “upgrade plug-in”, “replace plug-in”, etc. Replace words with the same semantics.
  • the embodiment of the present application provides a method for realizing application plug-inization.
  • the electronic device can download and install the plug-in of the application from the server to expand the function of the application. Since electronic devices can independently download plug-ins from the server, the development, release, and download and installation processes of plug-ins do not need to rely on basic modules. Therefore, the solution can realize independent development and release of applications, improve the efficiency of application development, and improve application performance. flexibility.
  • the present application also provides an electronic device, which is suitable for the application scenario shown in FIG. 2 and is used to implement the method for implementing application plug-inization as shown in FIG. 9.
  • the electronic device 1100 includes: a processing unit 1101, a communication unit 1102. The function of each unit is described below.
  • the communication unit 1102 is used to receive and send data
  • the processing unit 1101 is configured to download an application plug-in from the server through the communication unit 1102, wherein the electronic device has installed the basic module of the application, the basic module is used to implement the basic functions of the application, and the plug-in uses For realizing the extended functions of the application; and installing the plug-in.
  • the development environment of the plug-in is the same as the development environment of the basic module.
  • processing unit 1101 is further configured to:
  • the identification information of the plug-in is the same as the identification information of the basic module, and the identification information of the plug-in is used to determine the application to which the plug-in belongs.
  • the identification information of the basic module is used to determine the application to which the basic module belongs.
  • processing unit 1101 is further configured to:
  • the processing unit 1101 is specifically configured to: when determining that the version number of the plug-in is compatible with the version number of the basic module:
  • the field indicating the plug-in interface in the version number of the plug-in is the same as the field indicating the plug-in interface in the version number of the basic module.
  • the processing unit 1101 is further configured to: before installing the plug-in, determine that the file package of the plug-in contains a plug-in indication configuration file.
  • the plug-in is compiled through a plug-in interface provided by the basic module.
  • the electronic device 1100 is equipped with a display screen 1103 for displaying an interface, and the processing unit 1101 is specifically configured to: when downloading the application plug-in from the server through the communication unit 1102:
  • prompt information is displayed on the display screen 1103, and the prompt information is used to prompt the user to download the plug-in;
  • the download operation entered by the user is detected;
  • the plug-in is downloaded from the server through the communication unit 1102.
  • the processing unit 1101 displaying the prompt information on the display screen 1103 includes:
  • the management application interface is displayed on the display screen 1103, and the prompt information is displayed on the management application interface.
  • processing unit 1101 is further configured to uninstall the plug-in.
  • each functional unit in each embodiment of the present application It can be integrated in one processing unit, or it can exist alone physically, or two or more units can be integrated in one unit.
  • the above-mentioned integrated unit can be implemented in the form of hardware or software functional unit.
  • the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer readable storage medium.
  • the technical solution of the present application essentially or the part that contributes to the existing technology or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium , Including a number of instructions to enable a computer device (which may be a personal computer, a server, or a network device, etc.) or a processor to execute all or part of the steps of the methods described in the various embodiments of the present application.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (read-only memory, ROM), random access memory (random access memory, RAM), magnetic disks or optical disks and other media that can store program codes. .
  • the present application also provides an electronic device, which is suitable for the application scenario shown in FIG. 2 and is used to implement the method of implementing application plug-inization as shown in FIG.
  • the electronic device 1200 includes a processor 1201, a memory 1202, a transceiver 1203, and a display screen 1204.
  • the processor 1201 is connected to other components.
  • the processor 1201 and other components may be connected to each other through a bus;
  • the bus may be a peripheral component interconnect standard (PCI) bus or an extended industry standard architecture (EISA) Bus and so on.
  • PCI peripheral component interconnect standard
  • EISA extended industry standard architecture
  • the bus can be divided into an address bus, a data bus, a control bus, and so on. For ease of representation, only one thick line is used in FIG. 12 to represent it, but it does not mean that there is only one bus or one type of bus.
  • the transceiver 1203 is used to receive and send data.
  • the terminal device 1200 may communicate and interact with other devices through the transceiver 1203.
  • the electronic device 1200 may receive plug-in related information of the application pushed by the server through the transceiver 1203, and download plug-ins from the server.
  • the transceiver 1203 may include the mobile communication module 150 and/or the wireless communication module 160 in the electronic device 700 shown in FIG. 7.
  • the processor 1201 is configured to implement the method for implementing application plug-inization as shown in FIG. 9. For details, refer to the description in the foregoing embodiment, and details are not described herein again.
  • the display screen 1204 is used to display an interface. For example, when the processor 1201 determines that the plug-in of the application is stored in the server, it may display prompt information for prompting the user to download the plug-in on the display screen 1204.
  • the terminal device 1200 may further include components such as a camera and various sensors.
  • the memory 1202 is used to store computer programs and data.
  • the computer program may include program code, and the program code includes instructions for computer operations.
  • the memory 1202 may include a random access memory (RAM), and may also include a non-volatile memory (non-volatile memory), such as at least one disk memory.
  • the processor 1201 executes the program instructions stored in the memory 1202, and implements the above-mentioned functions through the above-mentioned components, so as to finally realize the method for realizing application plug-in provided by the above embodiments.
  • the embodiments of the present application also provide a computer program, which when the computer program runs on a computer, causes the computer to execute the method for realizing application plug-in provided by the above embodiments.
  • the embodiments of the present application also provide a computer storage medium with a computer program stored in the computer storage medium.
  • the computer program When the computer program is executed by a computer, the computer executes the application plug-in provided by the above embodiments. method.
  • an embodiment of the present application also provides a chip, which is used to read a computer program stored in a memory to implement the method for realizing application plug-in provided by the above embodiment.
  • the embodiments of the present application provide a chip system including a processor for supporting the functions related to the electronic devices in the above embodiments.
  • the chip system further includes a memory, and the memory is used to store the necessary programs and data of the computer device.
  • the chip system can be composed of chips, or include chips and other discrete devices.
  • the embodiments of the present application also provide a graphical user interface on an electronic device, wherein the electronic device has a display screen, a memory, and a processor, and the processor is configured to execute
  • the graphical user interface includes a graphical user interface displayed when the electronic device executes the method for implementing plug-in applications provided in the above embodiments.
  • this application provides a method and electronic device for implementing plug-in applications.
  • the electronic device can download and install the plug-in of the application from the server on the premise that the basic module of the application is installed in advance, so as to expand the function of the application. Since electronic devices can independently download plug-ins from the server, the development, release, and download and installation processes of plug-ins do not need to rely on basic modules. Therefore, the solution can realize independent development and release of applications, improve the efficiency of application development, and improve application performance. flexibility.
  • this application can be provided as methods, systems, or computer program products. Therefore, this application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, this application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.
  • computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
  • These computer program instructions can also be stored in a computer-readable memory that can guide a computer or other programmable data processing equipment to work in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture including the instruction device.
  • the device implements the functions specified in one process or multiple processes in the flowchart and/or one block or multiple blocks in the block diagram.
  • These computer program instructions can also be loaded on a computer or other programmable data processing equipment, so that a series of operation steps are executed on the computer or other programmable equipment to produce computer-implemented processing, so as to execute on the computer or other programmable equipment.
  • the instructions provide steps for implementing the functions specified in one process or multiple processes in the flowchart and/or one block or multiple blocks in the block diagram.

Landscapes

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

Abstract

本申请提供一种实现应用插件化的方法及电子设备,用以实现应用的插件独立开发和发布,以提高应用开发的效率,和提升应用的灵活性。在该方案中,电子设备在提前安装应用的基础模块的前提下,可以从服务器下载并安装该应用的插件,以扩展该应用的功能。由于电子设备可以从服务器上独立下载插件,插件的开发、发布以及下载安装过程均无需依赖于基础模块,因此该方案可以实现应用的独立开发和发布,能够提高应用开发的效率,和提升应用的灵活性。

Description

一种实现应用插件化的方法及电子设备
相关申请的交叉引用
本申请要求在2019年09月18日提交中国专利局、申请号为201910880334.5、申请名称为“一种实现应用插件化的方法及电子设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及电子设备技术领域,尤其涉及一种实现应用插件化的方法及电子设备。
背景技术
电子设备可以通过各种应用(application,APP)为用户提供服务。针对不同的操作系统,其对应的供应商提供了专用的开发方案。针对谷歌提供的安卓(Android)操作系统,谷歌官方提供了BundleAPP方案。
参阅图1所示,BundleAPP方案的原理为:开发者需要针对应用的所有功能进行开发,并在编译时通过工具将应用的分割为基础模块和至少一个特性模块,以及将每个模块按照不同的资源配置,进一步划分为多个资源配置模块。其中,所述基础模块用于实现应用的基础功能,所述特性模型用于实现该应用的扩展功能。通常,基础模块的文件形式为base.apk,特性模块的文件形式为split.apk。以相机应用为例,基础模块实现的功能为照相和录像,特性模块用于实现夜景、美食、全景等扩展功能的拍摄。需要说明的是,应用扩展功能的实现依赖于应用的基础功能。
如图1中所示,基础模块和每个特性模块还可以划分为多个资源配置模块,例如,特性2模块可以根据图片资源、指令资源以及语言资源,可以划分为至少一个按分辨率分割的图片资源、至少一个按CPU指令集分割的动态库资源,以及至少一个按语言分类的语言资源。
在BundleAPP方案中,由于应用是整体开发,在编译阶段才分割为多个模块,因此,分割后的模块之间存在调用关系(即互相依赖),因此,各个模块需要同时开发和编译,也需要在应用开发完成后,需要将该应用的所有模块整体打包,发布到应用市场。电子设备根据应用市场的推送,下载整个应用的安装包从而更新或安装该应用。
然而,随着用户需求的不断增长,应用的功能也越来越强大,这就导致应用的规模越来越大,为了快速响应需求,应用的模块化开发诉求日益强烈,因此针对Android操作系统设计一种应用的模块化(也可以称为插件化)方法,以实现应用的模块的独立开发和发布。
发明内容
本申请提供了一种实现应用插件化的方法及电子设备,用以实现应用的插件独立开发和发布,以提高应用开发的效率,和提升应用的灵活性。
第一方面,本申请实施例提供了一种实现应用插件化的方法,该方法可以适用于图2 所示的应用场景中。该方法为:在电子设备已经安装应用的基础模块后,所述电子设备从服务器下载该应用的插件,然后安装所述插件。其中,所述基础模块用于实现所述应用的基础功能,所述插件用于实现所述应用的扩展功能。
通过上述方法,电子设备在提前安装应用的基础模块的前提下,可以从服务器下载并安装该应用的插件,以扩展该应用的功能。由于电子设备可以从服务器上独立下载插件,插件的开发、发布以及下载安装过程均无需依赖于基础模块,因此该方案可以实现应用的独立开发和发布,能够提高应用开发的效率,和提升应用的灵活性。
在一个可能的设计中,所述插件的开发环境与所述基础模块的开发环境相同。这样,可以保证所述插件和所述基础模块可以在相同的设备中安装运行。
在一个可能的设计中,在所述电子设备从所述服务器下载所述应用的插件之前,所述电子设备确定所述插件的识别信息与所述基础模块的识别信息相同,其中所述插件的识别信息用于确定所述插件所归属的应用,所述基础模块的识别信息用于确定所述基础模块所归属的应用。其中,插件/基础模块的识别信息可以包括包名和签名等。这样,可以保证所述电子设备下载的插件与已安装的基础模块归属于同一应用,避免下载本地未安装的应用的插件,造成资源浪费。
在一个可能的设计中,在所述电子设备从所述服务器下载所述应用的插件之前,所述电子设备确定所述插件的版本号与所述基础模块的版本号兼容。这样,电子设备在从服务器下载插件之前,可以通过判断插件的版本号和基础模块的版本号是否兼容,来确定已经安装的基础模块是否能够与插件兼容,避免下载到与已安装的基础模块不兼容的插件,造成资源浪费。
在一个可能的设计中,所述电子设备确定所述插件的版本号与所述基础模块的版本号兼容,包括:所述电子设备确定所述插件的版本号中指示插件接口的字段与所述基础模块的版本号中指示的插件接口的字段相同。这样,所述插件和所述基础模块可以基于同一插件接口实现访问,以实现兼容性。
在一个可能的设计中,所述电子设备安装所述插件之前,所述电子设备确定所述插件的文件包中包含插件指示配置文件。这样,所述电子设备可以识别插件的文件包的属性为插件。
在一个可能的设计中,所述插件通过所述基础模块提供的插件接口进行编译。
在一个可能的设计中,所述电子设备配置有显示屏,所述电子设备确定所述服务器中保存所述插件时,可以在所述显示屏中显示提示信息,所述提示信息用于提示用户下载所述插件;然后所述电子设备检测到用户输入的下载操作后,响应于所述下载操作,从所述服务器下载所述插件。这样,所述电子设备可以将服务器推送的插件显示在显示屏中以体现用户下载安装,从而提高用户的使用体验。
在一个可能的设计中,所述电子设备可以但不限于通过以下方式在所述显示屏中显示所述提示信息:
方式一:所述电子设备在所述显示屏中显示的通知栏中显示所述提示信息。
方式二:所述电子设备在打开所述应用后,在所述显示屏中显示应用界面,并在所述应用界面中显示所述提示信息。
方式三:所述电子设备在打开所述应用中的插件管理功能后,在所述显示屏中显示插件管理功能界面,并在所述插件管理功能界面中显示所述提示信息。
方式四:所述电子设备在打开管理应用后,在所述显示屏中显示管理应用界面,并在所述管理应用界面中显示所述提示信息。
通过该设计,可以提高电子设备显示提示信息的灵活性。
在一个可能的设计中,在所述电子设备安装所述插件后,还可以独立卸载所述插件。通过该设计,用户可以根据个人需求,卸载插件,而不影响应用的使用和功能。
第二方面,本申请实施例还提供了一种显示方法,应用于配置有显示屏的电子设备中,该方法可以适用于图2所示的应用场景中。该方法包括:所述电子设备确定服务器中保存应用的插件时,在所述显示屏中显示提示信息,所述提示信息用于提示用户下载所述插件;其中,所述电子设备已经安装所述应用的基础模块,所述基础模块用于实现所述应用的基础功能,所述插件用于实现所述应用的扩展功能;在所述电子设备检测到用户输入的下载操作之后,响应于所述下载操作,从所述服务器下载所述插件;最后,所述电子设备可以安装所述插件。
在一个可能的设计中,所述电子设备可以但不限于通过以下方式在所述显示屏中显示所述提示信息:
方式一:所述电子设备在所述显示屏中显示的通知栏中显示所述提示信息。
方式二:所述电子设备在打开所述应用后,在所述显示屏中显示应用界面,并在所述应用界面中显示所述提示信息。
方式三:所述电子设备在打开所述应用中的插件管理功能后,在所述显示屏中显示插件管理功能界面,并在所述插件管理功能界面中显示所述提示信息。
方式四:所述电子设备在打开管理应用后,在所述显示屏中显示管理应用界面,并在所述管理应用界面中显示所述提示信息。
通过该设计,可以提高电子设备显示提示信息的灵活性。
第三方面,本申请实施例还提供了一种电子设备,包括用于执行上述各个方面各个步骤的单元或模块。
第四方面,本申请提供一种电子设备,包括至少一个处理元件和至少一个存储元件,其中所述至少一个存储元件用于存储程序和数据,所述至少一个处理元件用于执行本申请各个方面中提供的方法。
第五方面,本申请实施例中还提供一种计算机存储介质,该存储介质中存储软件程序,该软件程序在被一个或多个处理器读取并执行时可实现各个方面或其中任意一种设计提供的方法。
第六方面,本申请实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各个方面或其中任一种设计提供的方法。
第七方面,本申请实施例提供了一种芯片系统,该芯片系统包括处理器,用于支持电子设备实现上述各个方面中所涉及的功能。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存电子设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。
第八方面,本申请实施例还提供了一种电子设备上的图形用户界面,其中,所述电子设备具有显示屏、存储器,以及处理器,所述处理器用于执行存储在所述存储器中的计算机程序,所述图形用户界面包括所述电子设备执行第二方面所述的方法时显示的图形用户界面。
附图说明
图1为现有技术提供的BundleAPP方案的示意图;
图2为本申请实施例提供的一种应用插件化的应用场景示意图;
图3为本申请实施例提供的插件/基础模块的版本号形式示意图;
图4A为本申请实施例提供的插件和基础模块之间的访问示意图;
图4B为本申请实施例提供的插件的运行环境示意图;
图5A为本申请实施例提供的一种相机应用的功能组合示例图;
图5B为本申请实施例提供的一种AI应用的功能组合实例图;
图6为本申请实施例提供的一种服务器的结构图;
图7为本申请实施例提供的一种电子设备的结构图;
图8为本申请实施例提供的一种电子设备的软件结构图;
图9为本申请实施例提供的一种应用插件化的方法流程图;
图10A为本申请实施例提供的一种显示提示信息的界面示例图;
图10B为本申请实施例提供的一种显示提示信息的界面示例图;
图10C为本申请实施例提供的一种显示提示信息的界面示例图;
图10D为本申请实施例提供的一种显示提示信息的界面示例图;
图10E为本申请实施例提供的一种显示提示信息的界面示例图;
图10F为本申请实施例提供的一种显示提示信息的界面示例图;
图10G为本申请实施例提供的一种显示提示信息的界面示例图;
图10H为本申请实施例提供的一种显示提示信息的界面示例图;
图10I为本申请实施例提供的一种显示提示信息的界面示例图;
图10J为本申请实施例提供的一种显示提示信息的界面示例图;
图10K为本申请实施例提供的一种显示提示信息的界面示例图;
图10L为本申请实施例提供的一种显示提示信息的界面示例图;
图11为本申请实施例提供的一种电子设备的结构图;
图12为本申请实施例提供的一种电子设备的结构图。
具体实施方式
本申请提供一种实现应用插件化的方法及电子设备,用以实现应用的插件独立开发和发布,以提高应用开发的效率,和提升应用的灵活性。其中,方法和电子设备是基于同一技术构思的,由于方法及电子设备解决问题的原理相似,因此电子设备与方法的实施可以相互参见,重复之处不再赘述。
在本申请实施例提供的方案中,电子设备在提前安装应用的基础模块的前提下,可以从服务器下载并安装该应用的插件,以扩展该应用的功能。由于电子设备可以从服务器上独立下载插件,插件的开发、发布以及下载安装过程均无需依赖于基础模块,因此该方案可以实现应用的独立开发和发布,能够提高应用开发的效率,和提升应用的灵活性。
以下,对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。
1)、电子设备,是一种向用户提供语音、视频、拍摄、数据连通性等各种服务功能的设备。
例如,电子设备可以为:手机(mobile phone)、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,MID)、智能销售终端(point of sale,POS)、可穿戴设备,虚拟现实(virtual reality,VR)设备、增强现实(augmented reality,AR)设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端等。
2)、应用,用于安装在电子设备中,具有向用户提供服务的功能。例如,具有提供拍摄服务功能的相机应用,具有提供聊天服务功能的微信应用、QQ应用等,具有提供视频服务功能的爱奇艺应用、腾讯视频应用等,具有提供音乐服务功能的QQ音乐应用、酷我音乐应用等。应用可以是电子设备的生产厂商开发,或者为电子设备的操作系统的供应商开发,或者由第三方应用厂商开发,本申请对此不作限定。
随着用户对应用的服务需求的不断增加,应用也在基础功能的基础上,不断增加扩展功能,以向用户提供更全面的服务。以相机应用为例,初始的相机应用一般具有拍照和录像两个基础功能。而目前的相机应用除了上述基础功能以外,增加了多个新的扩展功能,例如全景模式、人像模式、夜景模式等。
3)、插件(plugin),是一种遵循一定的应用程序接口编写的程序,其职能运行在程序规定的应用(运行平台)下,而不能脱离该应用单独运行。插件能够为应用提供其不具备的扩展功能。
另外,需要理解的是,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
下面结合附图对本申请实施例进行具体说明。
图2示出了本申请提供的实现应用插件化的方法的应用场景。该应用场景针对适用于Android操作系统的应用插件化。如图所示,该应用场景中主要包含:应用开发者、插件开发者、服务器以及电子设备。下面结合实现应用插件化的方法对各个部分的功能进行描述。
应用开发者用于开发应用的基础模块,所述基础模块用于实现所述应用的基础功能。可选的,应用开发者可以采用如图1所示的BundleAPP方案,同时开发应用的基础模块和与基础模块绑定的特性模块(后续可以简称为DF)。其中,所述应用开发者需要采用传统的应用开发环境开发该应用的基础模块,例如Android Studio等。其中,所述应用的开发者可以为电子设备的生产厂商,或者为Android操作系统的供应商开发,或者由第三方应用厂商开发,本申请对此不作限定。
其中,应用开发者在开发基础模块时需要在基础模块中设置一组遵循兼容性处理原则的标准化开放接口Plugin软件开发包(software development kit,SDK)(该Plugin SDK的实现体在基础模块内),以便插件开发者可以动态依赖它实现插件的开发编译,以及插件可以通过Plugin SDK来访问基础模块。
插件开发者可以针对应用开发者开发的基础模块,开发该基础模块能够兼容的至少一个插件(后续这种兼容关系可以称为对应关系),以扩展该应用的功能;或者所述插件开发者针对旧版本的插件,开发出新版本的插件。需要说明的是,插件开发者可以采用以下开发规则独立开发每个插件:
(1)插件的开发环境与基础模块的开发环境相同。例如应用开发者采用Android Studio开发应用的基础模块,那么插件开发者也需要采用Android Studio开发应用的插件。
(2)插件开发者设置插件的识别信息与基础模块的识别信息相同。其中,插件/基础模块的识别信息,用于确定插件/基础模块所归属的应用。电子设备在下载插件之前,可以通过判断插件的识别信息与基础模块的识别信息是否相同,确定插件和所述基础模块是否归属于同一应用。其中,识别信息可以包括:包名、签名等。可选的,包名可以为应用标识,签名可以为安全信息,例如安全证书等。
当插件/基础模块的识别信息均包括包名和签名时,插件开发者设置插件的包名与该插件对应的基础模块的包名一致,且设置插件的签名与该插件对应的基础模块的签名也一致。
进一步的,插件开发者设置插件的版本号与基础模块的版本号兼容。这样,电子设备在从服务器下载插件之前,可以通过判断插件的版本号和基础模块的版本号是否兼容,来确定已经安装的基础模块是否能够与插件兼容,避免下载到与已安装的基础模块不兼容的插件,造成资源浪费。
在一种实施方式中,所述插件的版本号与基础模块的版本号兼容,包括:插件的版本号中指示插件接口的字段与基础模块的版本号中指示的插件接口的字段相同。即电子设备在从服务器下载插件之前,需要确定插件的版本号中指示插件接口的字段与已安装的基础模块的版本号中指示的插件接口的字段相同。
示例性的,当插件和基础模块的版本号均采用如图3所示的三段式X.Y.Z时,首段X为插件接口的版本号字段(即指示插件接口的字段),中段Y为该版本号的插件接口的版本变化字段,末段Z为插件/基础模块的版本号。其中,所述插件接口为Plugin SDK。当针对版本号为001.&&&.&&&&的基础模块开发插件时,插件开发者需要设置该插件的版本号为001.&&&.&&&&。其中&代表任意值。
(3)、插件开发者开发的插件文件包中包含插件指示配置文件。该插件指示配置文件用于指示该插件文件包的属性为插件。当电子设备下载插件的文件包后,安装所述插件之前,需要确定所述插件的文件包中包含插件指示配置文件。
示例性的,所述插件开发者配置插件文件包中isPlugin=“true”,以标明该插件文件包的插件身份。
(4)、插件开发者开发插件时,需要动态依赖基础模块发布的开放接口Plugin SDK和Android操作系统开放接口(即Android SDK)进行编译。
(5)、插件可以通过Plugin SDK来访问基础模块,基础模块可以通过反射调用接口来访问插件,如图4A所示。另外,针对同一应用的基础模块开发的不同插件之间不能存在依赖调用关系。并且,插件不能被除对应的基础模块以外的其他模块访问调用,即插件不能绕开对应的基础模块对外暴露其功能。
(6)、插件开发者在开发插件时,可以在插件中提供com.huawei.plugin.<splitName>.PluginEntry类供基础模块反射调用,且它必须继承自IPluginEntry接口。其中,基础模块可以加载查询反射调用该PluginEntry类,以获取插件的反射调用接口。
(7)、插件开发者设置插件所带的so/dex文件全部打包进apk文件包内,并配置该split.apk文件包为不解压。其中,so/dex文件均为页对齐。
(8)、插件开发者设置带资源的插件的文件包内任两个文件的package-id必须不同,package-id的取值范围为0x80~0xFF。这样可以避免插件的资源访问冲突。
基于以上原则,插件开发者开发的插件需要在如图4B所示的运行环境中运行。应了解的是,无论在插件的开发过程中,还是在插件安装到电子设备后,只要该插件被运行设 备(开发过程中使用的设备或电子设备)运行,则该插件需要满足该运行环境。如图4B所示,插件的运行环境为:运行设备的操作系统为Android操作系统,且在Android操作系统中运行了基础模块。插件在运行前,需要通过基础模块提供的Plugin SDK以及Android操作系统提供的Android SDK进行编译。还需要说明的是,基础模块运行前也是通过Android SDK进行编译的。
在本申请实施例中,基础模块的文件形式可以为base.apk,插件的文件形式可以与BundleAPP机制中的特性模块的文件形式相同,为split.apk。
值得注意的是,在本应用场景中,不同插件对应的开发者可以不同,也可以相同。另外,应用开发者可以与插件的开发者也可以相同,或不同,本申请对此也不作限定。
在应用开发者开发出应用的基础模块,且插件开发者开发出该基础模块对应的多个插件后,电子设备的生产厂商可以根据市场中的不同类型的用户对该应用的功能需求不同,以及电子设备的软硬件能力不同,设置应用的多种功能组合版,并在电子设备出厂前预置在电子设备中。
示例性的,如图5A所示,假设相机应用的全部功能模块为图5A中的(a)图所示,其中,拍照功能和录像功能由基础模块提供,其他功能由相应的插件提供。电子设备的生产厂商可以为相机应用设置如图5A中的(b)所示的全量功能组合版、图5A中的(c)所示的轻量功能组合版,以及图5A中的(d)所示的超级轻量功能组合版。然后电子设备的生产厂商生成电子设备时,可以将不同相机应用的功能组合版,预置到相应类型的电子设备中。
示例性的,如图5B所示,假设人工智能(artificial intelligence,AI)应用的全部功能模块为图5B中的(a)图所示,其中,AI通用算法由基础模块提供,其他功能由相应的插件提供。电子设备的生产厂商可以为AI应用设置如图5B中的(b)所示的高端功能组合版、图5B(c)所示的轻量功能组合版。然后电子设备的生产厂商生成电子设备时,可以将不同相机应用的功能组合版,预置到相应类型的电子设备中。
另外,如图2所示,应用开发者在开发出应用的基础模块之后,还可以发布到服务器中;插件开发者在开发出每个插件之后,也可以发布到服务器中。服务器负责存储应用开发者和插件开发者发布的基础模块和插件。可选的,所述服务器可以为传统的服务器或云服务器,本申请对此不作限定。
在一种实施方式中,服务器可以根据本地保存的应用的全部功能模块,设置多种应用的功能组合版,例如图5A和图5B所示。这样,所述服务器可以向用户进行推送任一种应用的功能组合版,以便于用户可以灵活地选择具体的功能组合进行下载安装。
在另一种实施方式中,如图2所示,服务器可以分为应用服务器和插件服务器,其中应用服务器主要负责存储应用的基础模块,而插件服务器主要负责存储应用的插件。应用服务器可以向用户推送存储的应用的基础模块。在电子设备安装应用的基础模块(可选的,还可以安装旧版的插件)后,插件服务器可以向用户推送存储的最新版的插件。例如,电子设备中预置或用户安装的相机应用中基础模块的版本号为1.1.3,人像模式插件的版本号为1.1.5的人像模式,那么插件服务器中存储的相机应用对应的最新版的人像模式插件的版本号为1.1.8,最新版的夜景模式插件的版本号为1.1.4,那么所述插件服务器可以向所述电子设备推送版本号为1.1.8的人像模式插件和版本号为1.1.4的夜景模式插件。通过这种实施例方式,可以提高插件推送的灵活性,从而使电子设备可以根据能力或者用户的功 能需求获取/更新插件。
电子设备可以通过一系列插件管理机制,对应用的插件进行管理。如图所示,插件管理机制包括:安装升级、动态加载、兼容检查、签名校验、版本管理、独立卸载等。
签名校验机制为在服务器推送插件过程中,主动向服务器发送电子设备已安装的基础模块的识别信息(包名、签名等),已使服务器为所述电子设备推送与所述基础模块的识别信息一致的插件;或者为在服务器推送插件过程中,服务器向电子设备发送存储的所有插件的识别信息,所述电子设备在推送到所有的插件的识别信息中选择出与已安装的基础模块的是被信息一致的插件,以便进一步进行兼容检查或者进行后续推送步骤。
版本管理机制为电子设备保存已安装的基础模块以及插件的版本号,以便后续进行基础模块和插件的升级,以及兼容检查。
兼容检查机制可以为电子设备在接收到服务器推送的插件的版本号后,对插件的版本号和电子设备已安装的基础模块的版本号进行匹配,判断基础模块是否兼容该版本号的插件。当判定基础模块兼容该版本号的插件时,可以在显示屏中显示提醒用于获取/更新插件的提示信息;当判定基础模块不兼容该版本号的插件时,不在显示屏中显示提示信息。
兼容检查机制还可以为在电子设备下载插件后,安装插件之前,对插件的版本号和电子设备已安装的基础模块的版本号进行匹配,判断基础模式是否兼容该版本号的插件。当判定基础模块兼容该版本号的插件时,可以直接安装插件,或者提示用户安装插件;当判定基础模块不兼容该版本号的插件时,可以提示用户版本号不兼容,不能安装。
安装升级机制用于在电子设备从服务器下载插件的安装包后,运行所述安装包,以安装插件。
动态加载机制为电子设备在运行应用的基础模块后,通过基础模块提供的Plugin SDK动态加载插件。
独立卸载机制为电子设备在安装插件后,可以在不卸载基础模块的基础上,独立卸载插件。
当电子设备安装应用的基础模块和至少一个插件后,如图中所示,基础模块可以通过自身的Plugin SDK,动态加载插件。
还需要说明的是,图2仅示意性的提供了一种应用场景,并不对本申请提供的方法的应用场景构成限定。
基于图2所示的应用场景,本申请实施例还提供了一种服务器,参阅图6所示,所述服务器600包括:处理器601、存储器602、通信接口603等部件。其中,所述处理器601与其他部件之间相互连接。
所述通信接口603用于与其他设备通信。
所述存储器602,可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器601通过运行存储在存储器602的指令,从而执行服务器的各种功能。存储器602可以包括存储程序区和存储数据区。其中,存储程序区可存储服务器的操作系统,以及至少一个应用程序的软件代码等。存储数据区可存储应用开发者发布的基础模块(以及DF),和/或,插件开发者发布的插件。当服务器可以根据本地保存的应用的全部功能模块,设置多种应用的功能组合时,所述存储数据区还可以存储每个应用对应的多种功能组合版。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少 一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
所述处理器601,可以包括一个或多个处理器单元,例如应用处理器(application processor,AP)、控制器、存储器,等。其中不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。其中,控制器可以是服务器的神经中枢和指挥中心,可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。例如所述处理器601可以通过通信接口603与应用开发者/插件开发者进行交互,接收其发布的应用的基础模块/插件,并将基础模块/插件存储至存储器602中。又例如,所述处理器601可以通过通信接口603连接通信系统(包括核心网和接入网),进而通过通信系统连接电子设备,从而实现向电子设备推送应用的基础模块、插件或者应用的功能组合版,以及向电子设备发送基础模块、插件或者功能组合版,实现电子设备的基础模块、插件或者功能组合版的获取或更新。
处理器601中还可以设置具有缓冲作用的存储器,用于存储指令和数据。在一些实施例中,处理器601中的存储器为高速缓冲存储器。该存储器可以保存处理器601刚用过或循环使用的指令或数据。如果处理器601需要再次使用该指令或数据,可从内部的该存储器中直接调用。避免了重复从存储器602中存取,减少了处理器601的等待时间,因而提高了处理器的工作效率。
可以理解的是,图6所示的服务器的结构并不构成服务器的限定,适用图2所示的应用场景的服务器可以包括比图示更多或更少的部件。例如,所述服务器还可以包括用于连接外部存储器的外部存储器接口,显示屏等。
基于图2所示的应用场景,本申请实施例还提供了一种电子设备,参阅图7所示,所述电子设备700包括:处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。其中,控制器可以是电子设备的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。例如,所述处理器110可以通过移动通信模块150或者无线通信模块160接入通信系统(包括接入网和核心网),并通过通信系统连接服务器,从而接收服务器推送的应用的基础模块、插件或者应用的功能组合版,以及从服务器下载应用的基础模块、插件或者应用的功能组合版,实现电子设备的基础模块、插件或者功能组合版的获取或更新。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或 数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备充电,也可以用于电子设备与外围设备之间传输数据。充电管理模块140用于从充电器接收充电输入。电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。
电子设备的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。天线1和天线2用于发射和接收电磁波信号。电子设备中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
无线通信模块160可以提供应用在电子设备上的包括无线局域网(wireless local area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频、放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code division multiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidou navigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
显示屏194为可折叠显示屏,用于显示界面。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot light emitting diodes,QLED)等。在一些实施例中,电子设备可以包括1个或N个显示屏194,N为大于1的正整数。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,以及至少一个应用(例如相机应用、AI应用等)的软件代码等,其中,所述操作系统可以为Android操作系统,任一个应用的软件代码包括:该应用的基础模块(以及与基础模块绑定的DF),还可以包括电子设备安装的插件。存储数据区可存储电子设备使用过程中所产生的数据(例如图像、视频等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储与读取功能。例如将图片,视频等文件保存在外部存储卡中。
电子设备可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音、通话等。
其中,传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。其中,触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194内,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型,并可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备的表面,与显示屏194所处的位置不同。由于本申请方案不涉及其他种类的传感器的功能,此处不再展开对其他种类传感器的功能描述。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备可以接收按键输入,产生与电子设备的用户设置以及功能控制有关的键信号输入。马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现与电子设备的接触和分离。
可以理解的是,图7所示的电子设备的结构并不构成对电子设备的具体限定,适用图2所示的应用场景的电子设备还可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。以下的实施例中,以图7所示的电子设备为例进行介绍。
基于图7所示的电子设备,本申请实施例还提供了一种电子设备的软件结构。参阅图8所示,电子设备的软件结构可以是分层架构,例如可以将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android操作系统分为四层,从上至下分别为应用程序层,应用程序框架层(framework,FWK),安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用。如图8中所示,应用程序层可以包括相机、AI应用、设置、电话、短信息、图库、日历等应用。
应用程序框架层为应用程序层中的应用程序提供应用编程接口(application programming interface,API)和编程框架。应用程序框架层可以包括一些预先定义的函数。如图8所示,应用程序框架层可以包括:窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器,为窗口提供窗口管理服务(window manager service),以对显示屏显示的界面进行控制管理。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用的界面。
电话管理器用于提供电子设备的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
Android runtime包括核心库和虚拟机。Android runtime是Android操作系统的运行时环境,负责Android操作系统的调度和管理。在本申请的方案中,在电子设备安装应用的基础模块和/或插件(即安装apk),或者基础模块动态加载插件(即运行插件)时,Android runtime可以提供运行环境和编译环境,例如图4B所示。其中,核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是Android操作系统的核心库。应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:状态检测模块、显示算法模块、媒体库(media libraries),图像处理库等。
状态检测模块,用于对电子设备的可折叠显示屏的物理形态进行识别。例如,状态检测模块可以用于根据硬件层中各类传感器上传的传感器数据确定该可折叠显示屏的物理形态。
所述显示算法模块,用于根据电子设备内部的插件管理机制,以及服务器推送的插件的版本号,确定是否需要获取或升级插件。
媒体库支持多种格式的音频、视频的回放和录制,以及支持打开多种格式的静态图像等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
内核层是电子设备的硬件和软件之间的层。内核层至少包含显示驱动,传感器驱动、摄像头驱动,音频驱动等,用于驱动硬件层中的硬件。
硬件层可以包括各类传感器、显示屏、摄像头等。
下面结合本申请实施例提供的实现应用插件化的方法,示例性的说明服务器和电子设备的软件以及硬件工作流程。
本申请实施例提供了一种实现应用插件化的方法,该方法适用于如图2所示的应用场景。参阅图9所示,该方法的流程包括:
S901:插件开发者按照插件开发规则,开发与目标应用的基础模块兼容的第n版插件1,n为大于0的整数。其中,所述开发规则可以参考以上应用场景中介绍的8条规则,此处不再赘述。
其中,目标应用的基础模块为应用开发者开发的,所述基础模块中发布有标准化开放接口Plugin SDK,以便插件开发者可以动态依赖它实现插件的开发编译,以及插件可以通过Plugin SDK来访问基础模块。可选的,应用开发者可以采用BundleAPP方案开发基础模块以及与该基础模块绑定的至少一个DF,本申请对此不做限定。
在本申请实施例中,电子设备可以通过以下三种方案,按照该第n版插件1。如图所示,S902a为方案一,S902b1-S902b4为方案二,S902c1-S902c5为方案三。
下面对方案一进行介绍。
S902a:电子设备的生产厂商可以根据市场中的不同类型的用户对该应用的功能需求不同,以及电子设备的软硬件能力不同,设置目标应用的多种功能组合版,其中,功能组合版1中包含所述基础模块和第n版插件1。电子设备的生成厂商将功能组合版1预置到软硬件能力能够支持该功能组合版1的电子设备中。
可选的,所述功能组合版1中还可以包含其他插件,本申请对此不作限定。另外当所述应用开发者采用BundleAPP方案开发基础模块的同时,还开发与基础模块绑定的至少一个DF时,所述功能组合版1中还包含该至少一个DF。
通过方案一,电子设备的生产厂商可以针对同一应用灵活地配置多种功能组合版,以满足不同的市场需求。
下面对方案二进行介绍。该方案的实现条件为电子设备已经安装或预置目标应用的基础模块。可选的,当所述应用开发者采用BundleAPP方案开发基础模块的同时,还开发与基础模块绑定的至少一个DF时,所述电子设备还已安装或预置有至少一个DF。
S902b1:插件开发者将第n版插件1发布到服务器中。
S902b2:服务器保存第n版插件1到存储器中,并通过插件推送流程向电子设备推送第n版插件1。
所述插件的推送流程可以与传统的应用推送流程相同。示例性的,插件的推送流程可以为:服务器通过通信系统连接电子设备,然后获取电子设备的应用安装情况,以及软硬件能力,然后根据所述电子设备的应用安装情况,以及软硬件能力,进行插件的推送。其中,电子设备在该插件的推送流程中,可以使用内部的签名校验机制、版本管理机制、兼容性检查机制等以保证服务器推送的插件与其已经安装的目标应用的基础模块兼容。
例如,当前电子设备已安装目标应用的基础模块,未安装第n版插件1,且电子设备的软硬件能力能够支持电子设备运行第n版插件1,那么服务器向电子设备推送第n版插件1。
S902b3:电子设备接收到服务器的推送后,在显示屏中显示提示用户获取插件1的提 示信息。
示例性的,所述电子设备可以但不限于通过以下方式,在所述显示屏中显示所述提示信息,包括:
方式一:所述电子设备在通知栏中显示所述提示信息。以所述目标应用为相机,插件1为美食模式为例,电子设备显示所述提示信息的界面可以如图10A所示。
方式二:所述电子设备在打开所述目标应用后,显示应用界面,并在所述应用界面中显示所述提示信息。
以所述目标应用为相机,插件1为夜景模式为例,所述电子设备可以在打开所述相机应用后,在相机应用的应用主界面显示所述提示信息,如图10B所示。所述电子设备还可以在应用界面中设置服务器推送的插件的图标,当用户点击某个插件图标时,显示提示信息,如图10C所示,电子设备的应用界面中显示有慢动作插件图标、夜景插件图标、全景插件图标等等,当用户点击夜景插件图标时,显示提示信息。
方式三:所述电子设备在打开所述目标应用中的插件管理功能后,显示插件管理功能界面,并在所述插件管理功能界面中显示所述提示信息。以所述目标应用为相机,插件1为美食模式为例,相机应用中的插件管理功能界面可以为相机应用市场,相机应用市场中关于美食模式插件的提示信息如图10D所示。
方式四:所述电子设备在打开管理应用,显示管理应用界面,并在所述管理应用界面中显示所述提示信息。其中所述管理应用可以管理电子设备的应用的获取、更新和安装,以及应用中的插件的获取、更新和安装。示例性的,电子设备中显示有相机应用中的美食模式插件的提示信息的管理应用界面可以如图10E所示。
S902b4:电子设备在接收到用户输入的下载操作时,响应与该下载操作,从服务器下载第n版插件。在电子设备下载第n版插件后,安装第n版插件。
所述下载操作可以为用户语音输入操作,用户操作电子设备的物理按钮,或者用户对显示屏中的提示信息的点击或滑动操作,本申请对此不作限定。
通过方案二,可以实现插件的独立发布、独立下载和安装,以提高插件的发布和下载的灵活性。
下面对方案三进行介绍。该方案的实现条件为电子设备已经安装或预置目标应用的基础模块。
S902c1:插件开发者将第n版插件1发布到服务器中。
S902c2:服务器保存第n版插件1到存储器中。然后服务器可以根据市场中不同类型的用户对该应用的功能需求不同,以及电子设备的软硬件能力不同,以及本地保存的目标应用的基础模块和多种插件,设置目标应用的多种功能组合版,其中,功能组合版1中包含基础模块和第n版插件1。
S902c3:服务器通过应用推送流程,向电子设备推送目标应用的功能组合版1。
所述应用推送流程与传统的应用推送流程相同,此处不再赘述。
S902c4:电子设备接收到服务器的推送后,在显示屏中显示提示用户获取目标应用的功能组合版1的提示信息。
示例性的,所述电子设备可以但不限于通过以下方式,在所述显示屏中显示所述提示信息,包括:
方式一:所述电子设备在通知栏中显示所述提示信息。以所述目标应用为相机,插件 1为美食模式为例,电子设备显示所述提示信息的界面可以如图10F所示。
方式二:所述电子设备在打开管理应用,显示管理应用界面,并在所述管理应用界面中显示所述提示信息。其中所述管理应用可以管理电子设备的应用的获取、更新和安装。示例性的,电子设备中显示有相机应用中的美食模式插件的提示信息的管理应用界面可以如图10G所示。
S902c5:电子设备在接收到用户输入的下载操作时,响应与该下载操作,从服务器下载目标应用的功能组合版1。然后在电子设备下载功能组合版1后,安装功能组合版1中的基础模块和第n版插件1。
其中,所述下载操作可以为用户语音输入操作,用户操作物理按钮,或者用户对显示屏中的提示信息的点击或滑动操作,本申请对此不作限定。
通过方案三,可以提高服务器的插件推送的灵活性和效率,以满足不同的市场需求。
通过以上三种方案,电子设备实现第n版插件的安装。需要说明的是,本申请实施例不仅能够实现插件的独立安装,还可以实现插件的独立卸载,如图所示,当电子设备安装任意款、任一版插件之后,可以通过独立卸载机制,独立卸载已安装的插件。
插件开发者在开发插件1后,还会不断对插件1的版本进行更新,以完善插件1的功能。即插件开发者可以在开发第n版插件1后,继续开发第n+1版插件1。因此,本申请实施例可以通过S903-S907,对插件1进行升级(电子设备未卸载第n版插件1的情况下)/获取(电子设备卸载第n版插件1的情况下)。
需要说明的是,在S904-S907的过程中,由于电子设备已经安装目标应用的基础模块,因此S903-S907的步骤与方案二的步骤类似,因此可以参考方案二中的描述,此处不再赘述。另外,在电子设备通过对S904-S907对插件1进行升级的情况下,电子设备接收到服务器的推送后,在显示屏中显示提示用户更新插件1的提示信息。电子设备也可以但不限于通过方案二中的四种方式,显示所述提示信息。
示例性的,如图10H所示,以所述目标应用为相机,插件1为美食模式为例,电子设备可以在通知栏中显示所述提示信息。
示例性的,以所述目标应用为相机,插件1为夜景模式为例,所述电子设备可以在打开所述相机应用后,在相机应用的应用主界面显示所述提示信息,如图10I所示。所述电子设备还可以在应用界面中设置服务器推送的插件的图标,当用户点击某个插件图标时,显示提示信息,如图10J所示,电子设备的应用界面中显示有慢动作插件图标、夜景插件图标、全景插件图标等等,当用户点击夜景插件图标时,显示提示信息。
示例性的,以所述目标应用为相机,插件1为水印模式为例,相机应用中的插件管理功能界面可以为相机应用市场,相机应用市场中关于水印模式插件的提示信息如图10K所示。
示例性的,电子设备还可以在管理应用界面中显示所述提示信息。以所述目标应用为相机,插件1为水印模式为例,电子设备中显示有相机应用中的水印模式插件的提示信息的管理应用界面可以如图10L所示。
在插件开发者在开发插件1后,还可以开发其他插件,以不断对目标应用的功能进行扩展。因此,本申请实施例可以通过S908-S912,实现插件2的独立开发、独立发布,以 及独立下载和安装。类似的,由于在A909-S912的过程中,电子设备已经安装目标应用的基础模块,因此S909-S912的步骤也与方案二的步骤类似,因此也可以参考方案二中的描述,此处不再赘述。
在本申请实施例中,“获取插件”表示电子设备本地未安装该插件,需要通过从服务器下载该插件以安装,因此,“获取插件”还可以用“下载插件”、“安装插件”、“添加插件”等表示相同语义的词语替换。“更新插件”表示电子设备本地已安装插件的版本,需要再次从服务器下载比已安装版本更新的版本以升级该插件,因此“更新插件”还可以用“升级插件”、“替换插件”等表示相同语义的词语替换。
本申请实施例提供了一种实现应用插件化的方法。在该方法中,电子设备在提前安装应用的基础模块的前提下,可以从服务器下载并安装该应用的插件,以扩展该应用的功能。由于电子设备可以从服务器上独立下载插件,插件的开发、发布以及下载安装过程均无需依赖于基础模块,因此该方案可以实现应用的独立开发和发布,能够提高应用开发的效率,和提升应用的灵活性。
基于相同的技术构思,本申请还提供了一种电子设备,所述电子设备适用于如图2所示的应用场景中,用于实现如图9所示的实现应用插件化的方法。参阅图11所示,所述电子设备1100包括:处理单元1101、通信单元1102。下面对各个单元的功能进行描述。
通信单元1102,用于接收和发送数据;
处理单元1101,用于通过通信单元1102从服务器下载应用的插件,其中,所述电子设备已经安装所述应用的基础模块,所述基础模块用于实现所述应用的基础功能,所述插件用于实现所述应用的扩展功能;以及安装所述插件。
在一种实施方式中,所述插件的开发环境与所述基础模块的开发环境相同。
在一种实施方式中,所述处理单元1101,还用于:
在从所述服务器下载所述应用的插件之前,确定所述插件的识别信息与所述基础模块的识别信息相同,其中所述插件的识别信息用于确定所述插件所归属的应用,所述基础模块的识别信息用于确定所述基础模块所归属的应用。
在一种实施方式中,所述处理单元1101,还用于:
在从所述服务器下载所述应用的插件之前,确定所述插件的版本号与所述基础模块的版本号兼容。
在一种实施方式中,所述处理单元1101,在确定所述插件的版本号与所述基础模块的版本号兼容时,具体用于:
确定所述插件的版本号中指示插件接口的字段与所述基础模块的版本号中指示的插件接口的字段相同。
在一种实施方式中,所述处理单元1101,还用于:在安装所述插件之前,确定所述插件的文件包中包含插件指示配置文件。
在一种实施方式中,所述插件通过所述基础模块提供的插件接口进行编译。
在一种实施方式中,所述电子设备1100配置有用于显示界面的显示屏1103,所述处理单元1101在通过所述通信单元1102从服务器下载所述应用的插件时,具体用于:
确定所述服务器中保存所述插件时,在所述显示屏1103中显示提示信息,所述提示信息用于提示用户下载所述插件;
检测到用户输入的下载操作;
响应于所述下载操作,通过所述通信单元1102从所述服务器下载所述插件。
在一种实施方式中,所述处理单元1101在所述显示屏1103中显示所述提示信息,包括:
在所述显示屏1103中显示的通知栏中显示所述提示信息;或者
在打开所述应用后,在所述显示屏中1103显示应用界面,并在所述应用界面中显示所述提示信息;或者
在打开所述应用中的插件管理功能后,在所述显示屏1103中显示插件管理功能界面,并在所述插件管理功能界面中显示所述提示信息;或者
在打开管理应用后,在所述显示屏1103中显示管理应用界面,并在所述管理应用界面中显示所述提示信息。
在一种实施方式中,所述处理单元1101还用于卸载所述插件。
需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
基于相同的技术构思,本申请还提供了一种电子设备,所述电子设备适用于如图2所示的应用场景中,用于实现如图9所示的实现应用插件化的方法,具有如图11所示的电子设备1100的功能。参阅图12所示,所述电子设备1200包括:处理器1201,存储器1202,收发器1203,以及显示屏1204。
其中,所述处理器1201与其它部件之间相互连接。可选的,所述处理器1201和其他部件可以通过总线相互连接;所述总线可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
所述收发器1203,用于接收和发送数据。所述终端设备1200可以通过所述收发器1203与其他设备进行通信交互,例如所述电子设备1200可以通过所述收发器1203接收服务器推送的应用的插件相关信息,以及从所述服务器下载插件。示例性的,所述收发器1203可以包含图7所示的电子设备700中的移动通信模块150和/或无线通信模块160。
所述处理器1201,用于实现如图9所示的实现应用插件化的方法,具体可以参见上述实施例中的描述,此处不再赘述。
所述显示屏1204,用于显示界面。例如,所述处理器1201在确定服务器中保存应用的插件时,可以在所述显示屏1204中显示用于提示用户下载该插件的提示信息。
在一些实施方式中,所述终端设备1200还可以包括摄像头、各种传感器等部件。
所述存储器1202,用于存放计算机程序和数据等。具体地,计算机程序可以包括程序代码,该程序代码包括计算机操作的指令。存储器1202可能包含随机存取存储器(random access memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。所述处理器1201执行所述存储器1202所存放的程序指令,并通过上述各个部件,实现上述功能,从而最终实现以上实施例提供的实现应用插件化的方法。
基于以上实施例,本申请实施例还提供了一种计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行以上实施例提供的实现应用插件化的方法。
基于以上实施例,本申请实施例还提供了一种计算机存储介质,该计算机存储介质中存储有计算机程序,所述计算机程序被计算机执行时,使得计算机执行以上实施例提供的实现应用插件化的方法。
基于以上实施例,本申请实施例还提供了一种芯片,所述芯片用于读取存储器中存储的计算机程序,实现以上实施例提供的实现应用插件化的方法。
基于以上实施例,本申请实施例提供了一种芯片系统,该芯片系统包括处理器,用于支持以上实施例中电子设备所涉及的功能。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器用于保存该计算机装置必要的程序和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。
基于以上实施例,本申请实施例还提供了一种电子设备上的图形用户界面,其中,所述电子设备具有显示屏、存储器,以及处理器,所述处理器用于执行存储在所述存储器中的计算机程序,所述图形用户界面包括所述电子设备执行以上实施例提供的实现应用插件化的方法时显示的图形用户界面。
综上所述,本申请提供了一种实现应用插件化的方法及电子设备。在该方法中,电子设备在提前安装应用的基础模块的前提下,可以从服务器下载并安装该应用的插件,以扩展该应用的功能。由于电子设备可以从服务器上独立下载插件,插件的开发、发布以及下载安装过程均无需依赖于基础模块,因此该方案可以实现应用的独立开发和发布,能够提高应用开发的效率,和提升应用的灵活性。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方 式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (18)

  1. 一种实现应用插件化的方法,其特征在于,所述方法包括:
    所述电子设备从服务器下载应用的插件,其中,所述电子设备已经安装所述应用的基础模块,所述基础模块用于实现所述应用的基础功能,所述插件用于实现所述应用的扩展功能;
    所述电子设备安装所述插件。
  2. 如权利要求1所述的方法,其特征在于,所述插件的开发环境与所述基础模块的开发环境相同。
  3. 如权利要求1或2所述的方法,其特征在于,在所述电子设备从所述服务器下载所述应用的插件之前,所述方法还包括:
    所述电子设备确定所述插件的识别信息与所述基础模块的识别信息相同,其中所述插件的识别信息用于确定所述插件所归属的应用,所述基础模块的识别信息用于确定所述基础模块所归属的应用。
  4. 如权利要求1-3任一项所述的方法,其特征在于,在所述电子设备从所述服务器下载所述应用的插件之前,所述方法还包括:
    所述电子设备确定所述插件的版本号与所述基础模块的版本号兼容。
  5. 如权利要求4所述的方法,其特征在于,所述电子设备确定所述插件的版本号与所述基础模块的版本号兼容,包括:
    所述电子设备确定所述插件的版本号中指示插件接口的字段与所述基础模块的版本号中指示的插件接口的字段相同。
  6. 如权利要求1-5任一项所述的方法,其特征在于,所述电子设备安装所述插件之前,所述方法还包括:
    所述电子设备确定所述插件的文件包中包含插件指示配置文件。
  7. 如权利要求1-6任一项所述的方法,其特征在于,所述插件通过所述基础模块提供的插件接口进行编译。
  8. 如权利要求1-7任一项所述的方法,其特征在于,所述电子设备配置有显示屏,所述电子设备从服务器下载所述应用的插件,包括:
    所述电子设备确定所述服务器中保存所述插件时,在所述显示屏中显示提示信息,所述提示信息用于提示用户下载所述插件;
    所述电子设备检测到用户输入的下载操作;
    所述电子设备响应于所述下载操作,从所述服务器下载所述插件。
  9. 如权利要求8所述的方法,其特征在于,所述电子设备在所述显示屏中显示所述提示信息,包括:
    所述电子设备在所述显示屏中显示的通知栏中显示所述提示信息;或者
    所述电子设备在打开所述应用后,在所述显示屏中显示应用界面,并在所述应用界面中显示所述提示信息;或者
    所述电子设备在打开所述应用中的插件管理功能后,在所述显示屏中显示插件管理功能界面,并在所述插件管理功能界面中显示所述提示信息;或者
    所述电子设备在打开管理应用后,在所述显示屏中显示管理应用界面,并在所述管理 应用界面中显示所述提示信息。
  10. 如权利要求1-9任一项所述的方法,其特征在于,所述方法还包括:
    所述电子设备卸载所述插件。
  11. 一种显示方法,应用于配置有显示屏的电子设备中,其特征在于,包括:
    所述电子设备确定服务器中保存应用的插件时,在所述显示屏中显示提示信息,所述提示信息用于提示用户下载所述插件;其中,所述电子设备已经安装所述应用的基础模块,所述基础模块用于实现所述应用的基础功能,所述插件用于实现所述应用的扩展功能;
    所述电子设备检测到用户输入的下载操作;
    所述电子设备响应于所述下载操作,从所述服务器下载所述插件。
  12. 如权利要求11所述的方法,其特征在于,所述电子设备在所述显示屏中显示所述提示信息,包括:
    所述电子设备在所述显示屏中显示的通知栏中显示所述提示信息;或者
    所述电子设备在打开所述应用后,在所述显示屏中显示应用界面,并在所述应用界面中显示所述提示信息;或者
    所述电子设备在打开所述应用中的插件管理功能后,在所述显示屏中显示插件管理功能界面,并在所述插件管理功能界面中显示所述提示信息;或者
    所述电子设备在打开管理应用后,在所述显示屏中显示管理应用界面,并在所述管理应用界面中显示所述提示信息。
  13. 一种电子设备,其特征在于,包括:
    收发器,用于接收和发送数据;
    存储器,用于存储计算机程序;
    处理器,用于执行存储器中的存储的计算机程序,通过所述收发器执行如权利要求1-10任一项所述的方法。
  14. 一种电子设备,其特征在于,包括:
    显示屏,用于显示界面;
    收发器,用于接收和发送数据;
    存储器,用于存储计算机程序,所述计算机程序包括指令;
    处理器,用于执行存储器中存储的计算机程序,通过所述显示屏、收发器执行如权利要求11或12所述的方法。
  15. 一种计算机存储介质,其特征在于,所述计算机存储介质中存储有计算机程序,当计算机程序在电子设备上运行时,使得所述电子设备执行如权利要求1-12任一项所述的方法。
  16. 一种计算机程序,其特征在于,包括指令,当所述指令在计算机上运行时,使得所述计算机执行如权利要求1-12任一项所述的方法。
  17. 一种芯片,其特征在于,所述芯片用于读取存储器中存储的计算机程序,执行如权利要求1-12任一项所述的方法。
  18. 一种电子设备上的图形用户界面,其特征在于,所述电子设备具有显示屏、存储器,以及处理器,所述处理器用于执行存储在所述存储器中的计算机程序,所述图形用户界面包括所述电子设备执行如权利要求11或12所述的方法时显示的图形用户界面。
PCT/CN2020/112848 2019-09-18 2020-09-01 一种实现应用插件化的方法及电子设备 WO2021052167A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910880334.5A CN112527301B (zh) 2019-09-18 2019-09-18 一种实现应用插件化的方法及电子设备
CN201910880334.5 2019-09-18

Publications (1)

Publication Number Publication Date
WO2021052167A1 true WO2021052167A1 (zh) 2021-03-25

Family

ID=74883915

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/112848 WO2021052167A1 (zh) 2019-09-18 2020-09-01 一种实现应用插件化的方法及电子设备

Country Status (2)

Country Link
CN (1) CN112527301B (zh)
WO (1) WO2021052167A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114172876A (zh) * 2021-11-29 2022-03-11 阿里巴巴(中国)有限公司 数据传输方法、装置及计算机存储介质
CN114443159A (zh) * 2021-12-31 2022-05-06 智器云南京信息科技有限公司 一种插件处理装置、方法、计算机设备和存储介质
CN115242628A (zh) * 2022-06-20 2022-10-25 平安普惠企业管理有限公司 基于模块部署的应用下载方法、装置、设备及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117319482A (zh) * 2022-06-25 2023-12-29 华为技术有限公司 一种插件控制方法、系统及相关装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103365644A (zh) * 2012-04-10 2013-10-23 腾讯科技(深圳)有限公司 一种扩展软件功能的方法及装置
US20170310552A1 (en) * 2016-04-20 2017-10-26 Servicenow, Inc. System and method for custom graph generation
CN108491236A (zh) * 2018-03-23 2018-09-04 努比亚技术有限公司 一种插件加载方法、装置及计算机可读存储介质
CN108595203A (zh) * 2018-04-28 2018-09-28 努比亚技术有限公司 应用功能执行方法、移动终端和计算机可读存储介质
CN108984224A (zh) * 2018-06-13 2018-12-11 中国平安人寿保险股份有限公司 一种插件管理方法、计算机可读存储介质及终端设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103795740A (zh) * 2012-10-29 2014-05-14 腾讯科技(深圳)有限公司 插件安装包的下载方法及下载终端
CN107423101B (zh) * 2017-08-01 2020-07-14 武大吉奥信息技术有限公司 一种应用程序插件网格化发布与管理方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103365644A (zh) * 2012-04-10 2013-10-23 腾讯科技(深圳)有限公司 一种扩展软件功能的方法及装置
US20170310552A1 (en) * 2016-04-20 2017-10-26 Servicenow, Inc. System and method for custom graph generation
CN108491236A (zh) * 2018-03-23 2018-09-04 努比亚技术有限公司 一种插件加载方法、装置及计算机可读存储介质
CN108595203A (zh) * 2018-04-28 2018-09-28 努比亚技术有限公司 应用功能执行方法、移动终端和计算机可读存储介质
CN108984224A (zh) * 2018-06-13 2018-12-11 中国平安人寿保险股份有限公司 一种插件管理方法、计算机可读存储介质及终端设备

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114172876A (zh) * 2021-11-29 2022-03-11 阿里巴巴(中国)有限公司 数据传输方法、装置及计算机存储介质
CN114443159A (zh) * 2021-12-31 2022-05-06 智器云南京信息科技有限公司 一种插件处理装置、方法、计算机设备和存储介质
CN115242628A (zh) * 2022-06-20 2022-10-25 平安普惠企业管理有限公司 基于模块部署的应用下载方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN112527301A (zh) 2021-03-19
CN112527301B (zh) 2022-10-25

Similar Documents

Publication Publication Date Title
EP4002108B1 (en) Application start method and electronic device
WO2021052167A1 (zh) 一种实现应用插件化的方法及电子设备
CN110633090B (zh) 补丁方法、相关装置及系统
CN114461239B (zh) 软件升级系统和软件升级方法
CN110865837B (zh) 一种进行系统升级的方法和终端
WO2020037560A1 (zh) 一种应用的安装方法及终端
WO2021073337A1 (zh) 安装插件的方法、装置和存储介质
CN114327437A (zh) 插件运行系统、插件运行方法以及电子设备
CN115309431B (zh) 一种参数更新方法、可读介质和电子设备
WO2022111664A1 (zh) 打补丁的方法、相关设备及系统
CN113885928B (zh) 程序更新方法和电子设备
WO2022161024A1 (zh) 升级提示方法、终端设备及计算机可读存储介质
CN114443117B (zh) 一种定制包的处理方法及电子设备
WO2021238376A1 (zh) 功能包的加载方法、装置、服务器和电子设备
CN113485709B (zh) 应用优化方法、装置以及电子设备
CN116795435A (zh) 兼容性管控方法及相关设备
CN115278642A (zh) 获取sim卡的信息的方法、电子设备及终端设备
WO2024083114A1 (zh) 一种软件分发方法、电子设备及系统
WO2024055875A1 (zh) 服务卡片的添加方法、电子设备及计算机可读存储介质
WO2023169212A1 (zh) 一种识别应用程序中sdk的方法、终端及服务器
WO2023165413A1 (zh) 一种应用开发系统、方法及设备
CN117093315B (zh) 一种升级内容显示方法、电子设备和存储介质
WO2022143126A1 (zh) 应用的安全性分析方法、装置、设备及存储介质
CN118034823A (zh) 显示方法、电子设备、存储介质及程序产品
CN117707563A (zh) 应用资源处理方法及相关设备

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20865459

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20865459

Country of ref document: EP

Kind code of ref document: A1