Movatterモバイル変換


[0]ホーム

URL:


CN116974555A - Method, device, equipment and storage medium for assembling software development kit - Google Patents

Method, device, equipment and storage medium for assembling software development kit
Download PDF

Info

Publication number
CN116974555A
CN116974555ACN202310774682.0ACN202310774682ACN116974555ACN 116974555 ACN116974555 ACN 116974555ACN 202310774682 ACN202310774682 ACN 202310774682ACN 116974555 ACN116974555 ACN 116974555A
Authority
CN
China
Prior art keywords
module
plug
file
component
functional
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310774682.0A
Other languages
Chinese (zh)
Inventor
龚正
郭彪
李伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co LtdfiledCriticalBeijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202310774682.0ApriorityCriticalpatent/CN116974555A/en
Publication of CN116974555ApublicationCriticalpatent/CN116974555A/en
Pendinglegal-statusCriticalCurrent

Links

Classifications

Landscapes

Abstract

The disclosure provides an assembly method, an assembly device and a storage medium of a software development kit, relates to the technical field of computers, and particularly relates to the technical field of software development. The specific implementation scheme is as follows: determining a first functional module running in a static component mode from a plurality of target functional modules selected according to functional requirements; compiling the first functional module into a component file by utilizing the component adapter; and obtaining a software development kit based on the kernel file and the component file. The method and the device can improve the development efficiency of the software development kit and reduce repeated development.

Description

Method, device, equipment and storage medium for assembling software development kit
Technical Field
The present disclosure relates to the field of computer technology, and in particular, to the field of software development technology.
Background
The software development kit (Software Development Kit, SDK) may provide one or more capabilities for software, applications. The plug-in is an extension mechanism of the SDK, which can be dynamically loaded into the host application to provide additional functionality or enhance existing functionality.
The use of plug-in technology based on dynamic loading is not allowed in some business requirements, so that SDK products need to be developed as different projects according to whether plug-ins can be used or not.
Disclosure of Invention
The present disclosure provides an assembly method, apparatus, device and storage medium for a software development kit.
According to an aspect of the present disclosure, there is provided an assembling method of a software development kit, including:
determining a first functional module running in a static component mode from a plurality of target functional modules selected according to functional requirements;
compiling the first functional module into a component file by using a component adapter;
and obtaining a software development kit based on the kernel file and the component file.
According to another aspect of the present disclosure, there is provided an assembling apparatus of a software development kit, including:
the component determining module is used for determining a first functional module running in a static component mode from a plurality of target functional modules selected according to functional requirements;
the component compiling module is used for compiling the first functional module into a component file by utilizing the component adapter;
and the assembly module is used for obtaining a software development kit based on the kernel file and the component file.
According to another aspect of the present disclosure, there is provided an electronic device including:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein,,
the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of any one of the embodiments of the present disclosure.
According to another aspect of the present disclosure, there is provided a non-transitory computer-readable storage medium storing computer instructions for causing the computer to perform a method according to any one of the embodiments of the present disclosure.
According to another aspect of the present disclosure, there is provided a computer program product comprising a computer program which, when executed by a processor, implements a method according to any of the embodiments of the present disclosure.
The method and the device can improve the development efficiency of the software development kit and reduce repeated development.
It should be understood that the description in this section is not intended to identify key or critical features of the embodiments of the disclosure, nor is it intended to be used to limit the scope of the disclosure. Other features of the present disclosure will become apparent from the following specification.
Drawings
The drawings are for a better understanding of the present solution and are not to be construed as limiting the present disclosure. Wherein:
FIG. 1 is a flow diagram of a method of assembling a software development kit according to one embodiment of the present disclosure;
FIG. 2 is a schematic diagram of the structure of a modular SDK provided by an embodiment of the present disclosure;
FIG. 3 is a schematic diagram of the structure of a modular SDK provided by an embodiment of the present disclosure;
FIG. 4 is a schematic diagram of an assembly device of a software development kit according to an embodiment of the disclosure;
fig. 5 is a block diagram of an electronic device used to implement an embodiment of the present disclosure.
Detailed Description
Exemplary embodiments of the present disclosure are described below in conjunction with the accompanying drawings, which include various details of the embodiments of the present disclosure to facilitate understanding, and should be considered as merely exemplary. Accordingly, one of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope of the present disclosure. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness.
Fig. 1 is a flow chart illustrating an assembling method of a software development kit according to an embodiment of the disclosure. As shown in fig. 1, the method at least comprises the following steps:
s101, determining a first functional module running in a static component mode from a plurality of target functional modules selected according to functional requirements.
In the embodiment of the disclosure, the plurality of target function modules may be selected from a preset function module library according to a function requirement. The function module library comprises a plurality of developed function modules which can realize different functions. Functional modules can be generally divided into support modules and business modules. In one example, the support module may include a network module, a plug-in management module, a data reporting module, a privacy control module, an encryption and decryption module, and the like. The service module can comprise a security module, a pushing module, a face acquisition module, a virus scanning module and the like.
The function module library has the function that when one SDK product is developed, whether the function of the SDK product can be realized by the existing function modules through permutation and combination is firstly determined, if so, the development of the SDK product only needs to select a needed target function module for combination, and codes for realizing the function of the product do not need to be written, so that the development quantity is reduced.
S102, compiling the first functional module into a component file by using the component adapter.
After determining a plurality of target function modules for realizing the product function requirements, determining a first function module running in a static component mode according to service scenes or service requirements. Specifically, if the application program APP of the service party needs to be used in a scenario that dynamic loading is not allowed, the selected target function module is directly compiled to obtain a component file through a compiling system and a component adapter. And compiling the component file and the kernel file into a static SDK product.
S103, obtaining a software development kit based on the kernel file and the component file.
The kernel file, i.e., the kernel of the SDK, may be understood as a single special module that provides several basic tools, class libraries, interfaces and algorithms for handling the underlying logic and runtime environment of the SDK, and provides support and basic functions for other components, plug-ins, or functional modules.
Component files, i.e., components of an SDK, may be understood as several individual modules or functional units in the SDK, typically having specific functions or tasks. Components may be reusable, stand-alone software units that can interact with or be combined with other components to build a more complex system. The design of the components aims to promote multiplexing, modularization and maintainability of the code, so that developers can more easily construct and expand software applications.
A component can be thought of as a higher level module built on top of a kernel. The components may interact with the kernel, use the basic functions and interfaces provided by the kernel, and provide specific functions or services according to specific needs. Thus, the kernel provides the underlying operating environment for the SDK, while the components provide more specific and specific functionality on top of the kernel, which in cooperation can constitute the complete SDK.
According to the scheme of the embodiment of the disclosure, the developed functional modules can be reused, so that repeated development is reduced; the functional module can be rapidly modularized through the assembly adapter, so that the development efficiency of the software development kit is improved.
In one possible implementation, step S103: based on the kernel file and the component file, a software development kit is obtained, which comprises the following steps:
s1031, determining a second functional module running in a dynamic loading mode from a plurality of target functional modules under the condition that the functional requirements allow dynamic loading.
S1032, compiling the second functional module into a plug-in file by using the plug-in adapter.
S1033, obtaining the software development kit based on the metadata of the kernel file, the component file and the plug-in file. The metadata of the plug-in file at least comprises a unique identifier of the plug-in file and a download address for acquiring the plug-in file.
In the embodiment of the disclosure, if the service party APP is allowed to use in a dynamically loaded scenario, the selected second functional module is compiled into a plug-in through a compiling system and a plug-in adapter. And the SDK can only comprise a kernel, a plurality of basic supporting modules and an interface panel (UI) for the APP to call when being released, thereby simplifying the SDK. In one example, the underlying support module includes: the system comprises a network module, a plug-in management module and an encryption and decryption module. After the service side APP integrates the SDK, the SDK provides corresponding functions by downloading plug-ins from the cloud server.
In one example, the kernel provides an external interface, a call bridge between components and plug-ins, and a complete initialization flow. The external interface may bridge function calls provided by the APP to a plug-in or component of the SDK. The initialization flow can ensure that after the SDK is started, required plug-ins are downloaded from the cloud and organized into a complete structure with the static component. Call bridges between components and plug-ins may provide call capability across components/plug-ins.
It should be noted that, the second functional module generally does not include a network module and a plug-in management module, that is, the network module and the plug-in management module cannot be used as a dynamic plug-in, and when these modules are not included, the dynamic plug-in cannot be downloaded and loaded.
According to the scheme of the embodiment of the disclosure, the functional module can be compiled into a dynamic plug-in or a static component according to service requirements. And the same functional module can be freely switched among the plug-ins or the components through the adapter, so that the problem of developing the component SDK and the plug-in SDK respectively for adapting to service limitation is avoided.
In one possible implementation, step S102: compiling the first functional module into a component file using the component adapter, comprising the steps of:
s1021, compiling the first functional module independently by using the assembly adapter to obtain an archive file with an assembly structure.
S1022, generating a first configuration file according to the first functional module. The first configuration file contains a module list of the first functional module.
S1023, merging and packaging the archive files corresponding to the first functional module in the module list to obtain the component file.
In the embodiment of the disclosure, the component adapter may be understood as an Android Zhuo Daima Library (Android Library) project, which is used for assembling one or more first functional modules into a binary Archive (aar) file with a component structure. The component adapter has a first configuration file containing a first list of functional modules contained by the component. The component adapter first triggers the compiling system to compile each first functional module individually when compiling, and the compiling product of each first functional module is a aar file. And then merging and packaging the files of each functional module aar to obtain a component file.
In one example, the component adapter compiles one or more already developed functional modules into a component, typically requiring the following steps:
designing an assembly interface: and defining an externally exposed interface of the component, and determining input and output parameters, methods, events and the like of the component.
Component code is written: integrating codes of the functional modules, creating an independent component item, and writing codes of the components.
Configuration construction script: depending on the build tool used (e.g., gradle, maven, etc.), the build script is configured, including dependency management, compilation options, packaging, etc.
And (3) constructing a component: and executing the construction script, and compiling the functional module into a component. The build process compiles the code of the functional module into an executable binary file or library and generates an output file of the component.
Export component: the component files generated by compilation are exported to a designated directory or repository so that other projects or developers may reference and use the component.
The assembly adapter can take the process of realizing the steps as a standard flow, so that any functional module can be assembled into a aar file with a preset assembly structure. It should be noted that the specific compilation process and steps may vary depending on the development environment, construction tools, and programming language. The above steps are general examples, and specific implementations require adjustment and configuration according to project requirements and development tools.
According to the scheme of the embodiment of the disclosure, the function module is modularized by using the assembly adapter, so that the modularized rewriting of the function module is not needed manually, and the development efficiency of the SDK is improved.
In one possible implementation, the first configuration file includes a function entry for the first function module.
The component adapter is used for determining the function entry of the first function module corresponding to the function name from the first configuration file according to the function name to be called so as to realize bridge call of the first function module.
In the embodiment of the disclosure, the component adapter provides a bridge calling method, the function name to be called can be input through the SDK shell, and the component adapter determines the function entry of the first function module corresponding to the function name from the first configuration file, so as to bridge the corresponding function.
The SDK shell is also referred to as an external interface or external layer of the SDK. The SDK is a public interface and a function set provided externally by the SDK and is used for interacting and integrating with external application programs or systems. It should be noted that, the basic operation environment provided by the SDK kernel may also include an external interface for interacting with an external application, so that the SDK kernel may also be regarded as a shell for each component and plug-in.
According to the scheme of the embodiment of the disclosure, a bridge calling method is provided for the component through the component adapter.
In one possible implementation, the assembly method of the embodiments of the present disclosure further includes the steps of:
and writing an external interface method of the first functional module into the panel class by using the component adapter so as to realize direct calling of the first functional module through the panel class.
In the embodiment of the disclosure, a Panel Class (Panel Class) refers to a Class including an external interface method of each functional module. The panel class is used as a set, and the interface methods of the functional modules are extracted and combined together so as to be directly called by the SDK shell. The panel class may also be referred to as an external interface class (External Interface Class), a functional interface class (Function Interface Class), or similar names.
The panel class is used for providing a place for centralized management of the interface methods of the functional modules, so that the shell can more conveniently access and call the functions of the functional modules. By incorporating the external interface methods of the functional modules into the panel class, the shell program can invoke the interface methods of the functional modules by accessing an instance or static method of the panel class without directly accessing the interfaces of the individual functional modules.
According to the scheme of the embodiment of the disclosure, the component adapter extracts and merges the external interface methods of each module into one panel class in the compiling process, so that the SDK shell can be directly called.
In one possible implementation, step S1032: compiling the second functional module into a plug-in file by using a plug-in adapter, further comprising the steps of:
and compiling the second functional module independently by using the plug-in adapter to obtain the application program package file with the plug-in structure.
And generating a second configuration file according to the second functional module. The second configuration file contains a module list of the second functional module.
And merging and packaging the application program package files corresponding to the second functional module in the module list to obtain plug-in files.
In the embodiment of the disclosure, a plug-in adapter may be understood as an application program (Android Application) project, which is used to assemble one or more second functional modules into an android package (apk) file with a plug-in structure. The plug-in adapter is provided with a second configuration file, wherein the second configuration file comprises a module list of second function modules contained in the plug-in, and the function inlets of the second function modules are respectively arranged in the module list. Similarly to the component adapter, the plug-in adapter firstly triggers the independent compiling of each second functional module when compiling, and combines and packages the apk files of each functional module to obtain plug-in files.
According to the scheme of the embodiment of the disclosure, the function module is plugged by using the plug-in adapter, so that the plug-in rewriting of the function module is not needed manually, and the development efficiency of the SDK is improved.
In one possible implementation, the second configuration file includes a function entry for the second function module.
The plug-in adapter is used for determining the function entry of the second function module corresponding to the function name from the second configuration file according to the function name to be called so as to realize bridge call of the second function module.
In the embodiment of the disclosure, the plug-in adapter provides a bridge calling method, the function name to be called can be transmitted through the SDK shell, and the plug-in adapter determines the function entry of the second function module corresponding to the function name from the second configuration file, so as to bridge the corresponding function.
According to the scheme of the embodiment of the disclosure, a bridge calling method is provided for the plug-in through the plug-in adapter.
In one possible implementation, the assembly method of the embodiments of the present disclosure further includes the steps of:
in case of a functional association of at least two target functional modules, a first federated module is provided in the component adapter. The first joint module is used for calling at least two target function modules according to a predefined flow.
In the embodiment of the disclosure, when the component adapter compiles, if the product includes a joint function (for example, the device environment security data is collected and packaged together in the face collection process), the component adapter is additionally incorporated into a first joint module, and the face module and the security module are respectively called according to a predefined process and combined into a complete product capability. The predefined flow is determined according to the business flow and the calling relation between the functional modules which are called respectively.
According to the scheme of the embodiment of the disclosure, the new capability which is richer and more complete can be obtained based on the original capability combination of a plurality of components.
In one possible implementation, the assembly method of the embodiments of the present disclosure further includes the steps of:
in case of a functional association of at least two target functional modules, a second federated module is provided in the plug-in adapter. The second combined module is used for calling at least two target functional modules according to a predefined flow.
In the embodiment of the disclosure, when the plug-in adapter compiles, if the product contains a joint function, the plug-in adapter is additionally combined into a second joint module, at least two target function modules are respectively called according to a predefined flow, and the target function modules are combined into complete product capability.
According to the scheme of the embodiment of the disclosure, the new capability which is richer and more complete can be obtained based on the original capability combination of a plurality of plug-ins.
In one possible implementation, when the SDK product is developed, a desired target function module may be selected from a function module library formed by the service module library and the base module library according to the function requirement of the SDK product. And then, according to the scene requirement of the SDK product on the service, determining a first functional module needing to be modularized and/or a second functional module needing to be plugin in each target functional module. The first functional module is componentized with a component adapter. Or plug-in the second functional module by using a plug-in adapter. And assembling the obtained multiple components and/or plug-ins with the basic SDK kernel to obtain a complete SDK product.
In one example, as shown in fig. 2, the service module library includes an air control module, an equipment fingerprint module, a virus scanning module, a pushing module and a face collection module. The basic module library comprises a network module, a plug-in management module, an encryption and decryption module and a privacy control module. In the example shown in fig. 2, the network module, the plug-in management module, and the encryption/decryption module are modularized, so as to obtain a base component. The face acquisition module is componentized to obtain a face acquisition component for providing face acquisition capability which is not subjected to safety reinforcement. The pushing module is componentized to obtain a pushing component for providing pushing capability. The wind control module, the virus scanning module and the privacy control module are assembled to obtain a safety assembly for providing safety-related capability. The security component, the base component, and the base SDK kernel may be assembled together to obtain a secure SDK with secure wind control capability. The push component, the base component, and the base SDK kernel may be assembled together to obtain a push SDK with push capabilities. The security component, the face collection component, the base component and the base SDK kernel can be assembled together to obtain the security face collection SDK with reinforced face collection capability. I.e. the capabilities provided by the functional modules required by the SDK are already encapsulated in the SDK by the corresponding components without dynamic loading.
In another example, shown in FIG. 3, the SDK product differs from the example of FIG. 2 in that it allows the use of dynamically loaded plug-ins. Therefore, the face acquisition module can be subjected to plugin to obtain a face acquisition plugin. The push module can obtain push plug-ins through plug-in. The wind control module, the virus scanning module and the privacy control module can be plugged to obtain a safety plug-in. The face collection plug-in, the pushing plug-in and the security plug-in are encrypted and then distributed on the cloud server. The secure SDK needs to be assembled by the base component and the base SDK kernel and then dynamically loads the secure plug-in. Similarly, push SDKs need to be assembled by the base component and the base SDK kernel before the push plug-ins are dynamically loaded. The security face collection SDK is assembled by the basic component and the basic SDK kernel, and then the security plug-in and the face collection plug-in are dynamically loaded.
The component adapter and the plug-in adapter are used for respectively modularizing and plug-in the function module. The component adapter and the plug-in adapter need to provide bridging of basic operation environments for the operation of the functional modules, and the basic environments are actually realized by an SDK kernel (shell) or realized by the SDK kernel through basic components, including contexts (the contexts used by the components are the same as those used by the SDK kernel, and the plug-ins use independent contexts to realize resource isolation), resource file paths, data reporting, broadcast receiving capability, encryption and decryption capability, data persistence capability and the like.
The SDK kernel is an Android Library project and is responsible for final output of the capabilities of each module. And the support module is used for providing support for external interfaces and operation environments for the components and the plug-ins. The support of the external interface comprises:
and initializing an interface, wherein the assembly is started in the initializing process, and the plug-in is pulled from the cloud and loaded, so that the integrity of the plug-in is finally ensured.
And the call bridge is used for calling the independent capability provided by each module or the joint capability organized through the adapter.
And presetting an Android component pile, wherein the Android component pile is used for preregistering with a system in a Service party APP so as to support the Android component (Activity, service, receiver) operation in a module in a component/plug-in.
Support for the operating environment includes:
context object; general data reporting capability; privacy item acquisition management and control capability; inter-component/inter-plug-in capability, including multi-process call support; an ability to register and receive broadcasts with the system; unique Id generation capability; the basic function library comprises a thread pool, network requests, persistence, encryption and decryption and other basic functions.
According to the scheme of the embodiment of the disclosure, a compiling system based on an android platform is provided, and a supporting module and a service module can be compiled into a plug-in or a component. When the method is used, a certain number of modules are selected according to the requirement, compiled into plug-ins, and then a certain number of modules are selected and compiled into SDK products together with an SDK kernel.
After the SDK products are assembled, the SDK products are released to a business side APP for integration, and plug-in parts are encrypted and then released to a cloud server. Therefore, when the SDK product containing the plugin is initialized for the first time, the encrypted plugin file package (dex file+so file) is downloaded from the cloud server, decrypted and loaded after integrity check. And then the service party can call specific functions through an external bridging UI provided by the SDK kernel.
When a certain APP needs to be supplemented with capability, dynamic release can be performed by releasing a new plug-in or adjusting the existing plug-in function, and the APP is not required to be re-integrated with the SDK. On the other hand, each functional module only needs to pay attention to the logic and realization of the service function, so that the reusability of the functional module is improved.
Fig. 4 is a schematic structural diagram of an assembling device of a software development kit according to an embodiment of the present disclosure. As shown in fig. 4, the apparatus includes at least:
the component determining module 401 is configured to determine, from a plurality of target function modules selected according to a function requirement, a first function module that operates in a static component manner.
The component compiling module 402 is configured to compile the first functional module into a component file by using the component adapter.
An assembling module 403, configured to obtain a software development kit based on the kernel file and the component file.
In one possible implementation, the assembly module 403 includes:
and the plug-in determining sub-module is used for determining a second functional module running in a dynamic loading mode from a plurality of target functional modules under the condition that the functional requirements allow dynamic loading.
And the plug-in compiling sub-module is used for compiling the second functional module into plug-in files by utilizing the plug-in adapter.
And the assembly sub-module is used for obtaining a software development kit based on metadata of the kernel file, the component file and the plug-in file. The metadata of the plug-in file at least comprises a unique identifier of the plug-in file and a download address for acquiring the plug-in file.
In one possible implementation, the component compilation module 402 includes:
and the compiling sub-module is used for compiling the first functional module independently by utilizing the assembly adapter to obtain an archive file with an assembly structure.
And the generating sub-module is used for generating a first configuration file according to the first functional module. The first configuration file contains a module list of the first functional module.
And the packing sub-module is used for merging and packing the archive files corresponding to the first functional module in the module list to obtain the component files.
In one possible implementation, the first configuration file contains a function entry for the first function module.
The component adapter is used for determining the function entry of the first function module corresponding to the function name from the first configuration file according to the function name to be called so as to realize bridge call of the first function module.
In one possible embodiment, the apparatus further comprises:
and the direct calling module is used for assembling and writing the external interface of the first functional module into the panel class by utilizing the assembly adapter so as to realize the direct calling of the first functional module through the panel class.
In one possible implementation, the plug-in compiling sub-module is configured to:
and compiling the second functional module independently by using the plug-in adapter to obtain the application program package file with the plug-in structure.
And generating a second configuration file according to the second functional module. The second configuration file contains a module list of the second functional module.
And merging and packaging the application program package files corresponding to the second functional module in the module list to obtain plug-in files.
In one possible implementation, the second configuration file contains a function entry for the second function module.
The plug-in adapter is used for determining the function entry of the second function module corresponding to the function name from the second configuration file according to the function name to be called so as to realize bridge call of the second function module.
In one possible embodiment, the apparatus further comprises:
and the first setting module is used for setting a first joint module in the component adapter under the condition that the functions of at least two target function modules are associated. The first joint module is used for calling at least two target function modules according to a predefined flow.
In one possible embodiment, the apparatus further comprises:
and the second setting module is used for setting a second joint module in the plug-in adapter under the condition that the functions of at least two target function modules are associated. The second combined module is used for calling at least two target functional modules according to a predefined flow.
For descriptions of specific functions and examples of each module and sub-module of the apparatus in the embodiments of the present disclosure, reference may be made to the related descriptions of corresponding steps in the foregoing method embodiments, which are not repeated herein.
In the technical scheme of the disclosure, the acquisition, storage, application and the like of the related user personal information all conform to the regulations of related laws and regulations, and the public sequence is not violated.
According to embodiments of the present disclosure, the present disclosure also provides an electronic device, a readable storage medium and a computer program product.
Fig. 5 illustrates a schematic block diagram of an example electronic device 500 that may be used to implement embodiments of the present disclosure. Electronic devices are intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The electronic device may also represent various forms of mobile apparatuses, such as personal digital assistants, cellular telephones, smartphones, wearable devices, and other similar computing apparatuses. The components shown herein, their connections and relationships, and their functions, are meant to be exemplary only, and are not meant to limit implementations of the disclosure described and/or claimed herein.
As shown in fig. 5, the apparatus 500 includes a computing unit 501 that can perform various suitable actions and processes according to a computer program stored in a Read Only Memory (ROM) 502 or a computer program loaded from a storage unit 508 into a Random Access Memory (RAM) 503. In the RAM 503, various programs and data required for the operation of the device 500 can also be stored. The computing unit 501, ROM 502, and RAM 503 are connected to each other by a bus 504. An input/output (I/O) interface 505 is also connected to bus 504.
Various components in the device 500 are connected to the I/O interface 505, including: an input unit 506 such as a keyboard, a mouse, etc.; an output unit 507 such as various types of displays, speakers, and the like; a storage unit 508 such as a magnetic disk, an optical disk, or the like; and a communication unit 509 such as a network card, modem, wireless communication transceiver, etc. The communication unit 509 allows the device 500 to exchange information/data with other devices via a computer network such as the internet and/or various telecommunication networks.
The computing unit 501 may be a variety of general and/or special purpose processing components having processing and computing capabilities. Some examples of computing unit 501 include, but are not limited to, a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), various specialized Artificial Intelligence (AI) computing chips, various computing units running machine learning model algorithms, a Digital Signal Processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 501 performs the various methods and processes described above, such as the assembly method of the method software development kit. For example, in some embodiments, the method of assembling a software development kit may be implemented as a computer software program tangibly embodied on a machine-readable medium, such as storage unit 508. In some embodiments, part or all of the computer program may be loaded and/or installed onto the device 500 via the ROM 502 and/or the communication unit 509. When the computer program is loaded into RAM 503 and executed by computing unit 501, one or more steps of the method of assembling a software development kit described above may be performed. Alternatively, in other embodiments, the computing unit 501 may be configured to perform the method of assembly of the software development kit in any other suitable manner (e.g., by means of firmware).
Various implementations of the systems and techniques described here above may be implemented in digital electronic circuitry, integrated circuit systems, field Programmable Gate Arrays (FPGAs), application Specific Integrated Circuits (ASICs), application Specific Standard Products (ASSPs), systems On Chip (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include: implemented in one or more computer programs, the one or more computer programs may be executed and/or interpreted on a programmable system including at least one programmable processor, which may be a special purpose or general-purpose programmable processor, that may receive data and instructions from, and transmit data and instructions to, a storage system, at least one input device, and at least one output device.
Program code for carrying out methods of the present disclosure may be written in any combination of one or more programming languages. These program code may be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus such that the program code, when executed by the processor or controller, causes the functions/operations specified in the flowchart and/or block diagram to be implemented. The program code may execute entirely on the machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.
In the context of this disclosure, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. The machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to a user; and a keyboard and pointing device (e.g., a mouse or trackball) by which a user can provide input to the computer. Other kinds of devices may also be used to provide for interaction with a user; for example, feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form, including acoustic input, speech input, or tactile input.
The systems and techniques described here can be implemented in a computing system that includes a background component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such background, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: local Area Networks (LANs), wide Area Networks (WANs), and the internet.
The computer system may include a client and a server. The client and server are typically remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The server may be a cloud server, a server of a distributed system, or a server incorporating a blockchain.
It should be appreciated that various forms of the flows shown above may be used to reorder, add, or delete steps. For example, the steps recited in the present disclosure may be performed in parallel, sequentially, or in a different order, provided that the desired results of the disclosed aspects are achieved, and are not limited herein.
The above detailed description should not be taken as limiting the scope of the present disclosure. It will be apparent to those skilled in the art that various modifications, combinations, sub-combinations and alternatives are possible, depending on design requirements and other factors. Any modifications, equivalent substitutions, improvements, etc. that are within the principles of the present disclosure are intended to be included within the scope of the present disclosure.

Claims (21)

Translated fromChinese
1.一种软件开发工具包的组装方法,包括:1. A method of assembling a software development tool kit, including:从根据功能需求选取的多个目标功能模块中,确定以静态组件方式运行的第一功能模块;Determine the first functional module that operates as a static component from a plurality of target functional modules selected according to functional requirements;利用组件适配器,将所述第一功能模块编译为组件文件;Using a component adapter, compile the first functional module into a component file;基于内核文件和所述组件文件,得到软件开发工具包。Based on the kernel file and the component files, a software development kit is obtained.2.根据权利要求1所述的方法,其中,基于内核文件和所述组件文件,得到软件开发工具包,包括:2. The method according to claim 1, wherein, based on the kernel file and the component file, a software development tool kit is obtained, including:在所述功能需求允许动态加载的情况下,从所述多个目标功能模块中,确定以动态加载方式运行的第二功能模块;If the functional requirements allow dynamic loading, determine a second functional module to be run in a dynamic loading mode from the plurality of target functional modules;利用插件适配器,将所述第二功能模块编译为插件文件;Using a plug-in adapter, compile the second functional module into a plug-in file;基于内核文件、所述组件文件和所述插件文件的元数据,得到软件开发工具包;所述插件文件的元数据至少包括所述插件文件的唯一标识和用于获取所述插件文件的下载地址。Based on the metadata of the core file, the component file and the plug-in file, a software development toolkit is obtained; the metadata of the plug-in file at least includes the unique identifier of the plug-in file and the download address used to obtain the plug-in file. .3.根据权利要求1所述的方法,其中,利用组件适配器,将所述第一功能模块编译为组件文件,包括:3. The method of claim 1, wherein the first functional module is compiled into a component file using a component adapter, including:利用组件适配器,对所述第一功能模块单独编译,得到具有组件化结构的归档文件;Using a component adapter, compile the first functional module separately to obtain an archive file with a componentized structure;根据所述第一功能模块,生成第一配置文件;其中,所述第一配置文件包含所述第一功能模块的模块列表;Generate a first configuration file according to the first functional module; wherein the first configuration file contains a module list of the first functional module;将所述模块列表中与所述第一功能模块对应的归档文件合并打包,得到组件文件。The archive files corresponding to the first functional module in the module list are merged and packaged to obtain a component file.4.根据权利要求3所述的方法,其中,所述第一配置文件包含所述第一功能模块的功能入口;4. The method according to claim 3, wherein the first configuration file contains a function entry of the first functional module;所述组件适配器用于根据所需调用的功能名称,从所述第一配置文件中确定对应所述功能名称的所述第一功能模块的功能入口,以实现桥式调用所述第一功能模块。The component adapter is used to determine the function entry of the first function module corresponding to the function name from the first configuration file according to the function name that needs to be called, so as to realize the bridge call of the first function module. .5.根据权利要求3所述的方法,还包括:5. The method of claim 3, further comprising:利用所述组件适配器,将所述第一功能模块的对外接口方法写入面板类中,以实现通过所述面板类直接调用所述第一功能模块。The component adapter is used to write the external interface method of the first functional module into the panel class, so as to directly call the first functional module through the panel class.6.根据权利要求2所述的方法,其中,利用插件适配器,将所述第二功能模块编译为插件文件,包括:6. The method of claim 2, wherein the second functional module is compiled into a plug-in file using a plug-in adapter, including:利用插件适配器,对所述第二功能模块单独编译,得到具有插件化结构的应用程序包文件;Using a plug-in adapter, compile the second functional module separately to obtain an application package file with a plug-in structure;根据所述第二功能模块,生成第二配置文件;其中,所述第二配置文件包含所述第二功能模块的模块列表;Generate a second configuration file according to the second functional module; wherein the second configuration file contains a module list of the second functional module;将所述模块列表中与所述第二功能模块对应的应用程序包文件合并打包,得到插件文件。Merge and package the application package files corresponding to the second functional module in the module list to obtain a plug-in file.7.根据权利要求6所述的方法,其中,所述第二配置文件包含所述第二功能模块的功能入口;7. The method according to claim 6, wherein the second configuration file contains a function entry of the second functional module;所述插件适配器用于根据所需调用的功能名称,从所述第二配置文件中确定对应所述功能名称的所述第二功能模块的功能入口,以实现桥式调用所述第二功能模块。The plug-in adapter is used to determine the function entry of the second function module corresponding to the function name from the second configuration file according to the function name that needs to be called, so as to realize the bridge call of the second function module. .8.根据权利要求1至7中任一项所述的方法,还包括:8. The method of any one of claims 1 to 7, further comprising:在至少两个目标功能模块的功能相关联的情况下,在所述组件适配器中设置第一联合模块;其中,所述第一联合模块用于根据预定义流程,调用所述至少两个目标功能模块。In the case where the functions of at least two target function modules are associated, a first joint module is set in the component adapter; wherein the first joint module is used to call the at least two target functions according to a predefined process. module.9.根据权利要求2至7中任一项所述的方法,还包括:9. The method of any one of claims 2 to 7, further comprising:在至少两个目标功能模块的功能相关联的情况下,在所述插件适配器中设置第二联合模块;其中,所述第二联合模块用于根据预定义流程,调用所述至少两个目标功能模块。In the case where the functions of at least two target function modules are associated, a second joint module is set in the plug-in adapter; wherein the second joint module is used to call the at least two target functions according to a predefined process. module.10.一种软件开发工具包的组装装置,包括:10. An assembly device for a software development tool kit, including:组件确定模块,用于从根据功能需求选取的多个目标功能模块中,确定以静态组件方式运行的第一功能模块;A component determination module, used to determine a first functional module that operates in a static component mode from a plurality of target functional modules selected according to functional requirements;组件编译模块,用于利用组件适配器,将所述第一功能模块编译为组件文件;A component compilation module, used to compile the first functional module into a component file using a component adapter;组装模块,用于基于内核文件和所述组件文件,得到软件开发工具包。Assembling modules is used to obtain a software development kit based on the kernel file and the component files.11.根据权利要求10所述的装置,其中,所述组装模块包括:11. The device of claim 10, wherein the assembly module includes:插件确定子模块,用于在所述功能需求允许动态加载的情况下,从所述多个目标功能模块中,确定以动态加载方式运行的第二功能模块;A plug-in determination sub-module, used to determine a second functional module to be run in a dynamic loading mode from the plurality of target functional modules when the functional requirements allow dynamic loading;插件编译子模块,用于利用插件适配器,将所述第二功能模块编译为插件文件;A plug-in compilation submodule is used to compile the second functional module into a plug-in file using a plug-in adapter;组装子模块,用于基于内核文件、所述组件文件和所述插件文件的元数据,得到软件开发工具包;所述插件文件的元数据至少包括所述插件文件的唯一标识和用于获取所述插件文件的下载地址。Assembling sub-modules for obtaining a software development tool kit based on the metadata of the core file, the component file and the plug-in file; the metadata of the plug-in file at least includes the unique identification of the plug-in file and a method for obtaining the The download address of the above plug-in file.12.根据权利要求10所述的装置,其中,所述组件编译模块包括:12. The device of claim 10, wherein the component compilation module includes:编译子模块,用于利用组件适配器,对所述第一功能模块单独编译,得到具有组件化结构的归档文件;A compilation sub-module used to compile the first functional module separately using a component adapter to obtain an archive file with a componentized structure;生成子模块,用于根据所述第一功能模块,生成第一配置文件;其中,所述第一配置文件包含所述第一功能模块的模块列表;Generate a sub-module, used to generate a first configuration file according to the first functional module; wherein the first configuration file contains a module list of the first functional module;打包子模块,用于将所述模块列表中与所述第一功能模块对应的归档文件合并打包,得到组件文件。The packaging sub-module is used to merge and package the archive files corresponding to the first functional module in the module list to obtain component files.13.根据权利要求12所述的装置,其中,所述第一配置文件包含所述第一功能模块的功能入口;13. The device according to claim 12, wherein the first configuration file contains a function entry of the first functional module;所述组件适配器用于根据所需调用的功能名称,从所述第一配置文件中确定对应所述功能名称的所述第一功能模块的功能入口,以实现桥式调用所述第一功能模块。The component adapter is used to determine the function entry of the first function module corresponding to the function name from the first configuration file according to the function name that needs to be called, so as to realize the bridge call of the first function module. .14.根据权利要求12所述的装置,还包括:14. The device of claim 12, further comprising:直接调用模块,用于利用所述组件适配器,将所述第一功能模块的对外接口组装写入面板类中,以实现通过所述面板类直接调用所述第一功能模块。The direct calling module is used to use the component adapter to assemble and write the external interface of the first functional module into a panel class, so as to directly call the first functional module through the panel class.15.根据权利要求11所述的装置,其中,所述插件编译子模块用于:15. The device according to claim 11, wherein the plug-in compilation sub-module is used for:利用插件适配器,对所述第二功能模块单独编译,得到具有插件化结构的应用程序包文件;Using a plug-in adapter, compile the second functional module separately to obtain an application package file with a plug-in structure;根据所述第二功能模块,生成第二配置文件;其中,所述第二配置文件包含所述第二功能模块的模块列表;Generate a second configuration file according to the second functional module; wherein the second configuration file contains a module list of the second functional module;将所述模块列表中与所述第二功能模块对应的应用程序包文件合并打包,得到插件文件。Merge and package the application package files corresponding to the second functional module in the module list to obtain a plug-in file.16.根据权利要求15所述的装置,其中,所述第二配置文件包含所述第二功能模块的功能入口;16. The device according to claim 15, wherein the second configuration file contains a function entry of the second functional module;所述插件适配器用于根据所需调用的功能名称,从所述第二配置文件中确定对应所述功能名称的所述第二功能模块的功能入口,以实现桥式调用所述第二功能模块。The plug-in adapter is used to determine the function entry of the second function module corresponding to the function name from the second configuration file according to the function name that needs to be called, so as to realize the bridge call of the second function module. .17.根据权利要求10至16中任一项所述的装置,还包括:17. The device of any one of claims 10 to 16, further comprising:第一设置模块,用于在至少两个目标功能模块的功能相关联的情况下,在所述组件适配器中设置第一联合模块;其中,所述第一联合模块用于根据预定义流程,调用所述至少两个目标功能模块。The first setting module is used to set a first joint module in the component adapter when the functions of at least two target function modules are associated; wherein the first joint module is used to call according to a predefined process. The at least two target function modules.18.根据权利要求11至16中任一项所述的装置,还包括:18. The device of any one of claims 11 to 16, further comprising:第二设置模块,用于在至少两个目标功能模块的功能相关联的情况下,在所述插件适配器中设置第二联合模块;其中,所述第二联合模块用于根据预定义流程,调用所述至少两个目标功能模块。The second setting module is used to set a second joint module in the plug-in adapter when the functions of at least two target function modules are associated; wherein the second joint module is used to call according to a predefined process. The at least two target function modules.19.一种电子设备,包括:19. An electronic device, comprising:至少一个处理器;以及at least one processor; and与所述至少一个处理器通信连接的存储器;其中,a memory communicatively connected to the at least one processor; wherein,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-9中任一项所述的方法。The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor, so that the at least one processor can perform any one of claims 1-9. Methods.20.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-9中任一项所述的方法。20. A non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause the computer to perform the method according to any one of claims 1-9.21.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-9中任一项所述的方法。21. A computer program product comprising a computer program which, when executed by a processor, implements the method according to any one of claims 1-9.
CN202310774682.0A2023-06-282023-06-28Method, device, equipment and storage medium for assembling software development kitPendingCN116974555A (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
CN202310774682.0ACN116974555A (en)2023-06-282023-06-28Method, device, equipment and storage medium for assembling software development kit

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
CN202310774682.0ACN116974555A (en)2023-06-282023-06-28Method, device, equipment and storage medium for assembling software development kit

Publications (1)

Publication NumberPublication Date
CN116974555Atrue CN116974555A (en)2023-10-31

Family

ID=88475861

Family Applications (1)

Application NumberTitlePriority DateFiling Date
CN202310774682.0APendingCN116974555A (en)2023-06-282023-06-28Method, device, equipment and storage medium for assembling software development kit

Country Status (1)

CountryLink
CN (1)CN116974555A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN118152314A (en)*2024-05-082024-06-07浙江锦智人工智能科技有限公司Data interaction method, device and medium based on data acquisition adapter
CN118377652A (en)*2024-04-082024-07-23福建天泉教育科技有限公司 A method and terminal for switching rendering mode

Cited By (3)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN118377652A (en)*2024-04-082024-07-23福建天泉教育科技有限公司 A method and terminal for switching rendering mode
CN118152314A (en)*2024-05-082024-06-07浙江锦智人工智能科技有限公司Data interaction method, device and medium based on data acquisition adapter
CN118152314B (en)*2024-05-082024-07-19浙江锦智人工智能科技有限公司Data interaction method, device and medium based on data acquisition adapter

Similar Documents

PublicationPublication DateTitle
CN110716748B (en)Service processing method, device, computer readable medium and electronic equipment
JP6936016B2 (en) Extension method and system for package files
US9043747B2 (en)Systems and methods for dynamic development and deployment of computing applications using blueprints
US10324709B2 (en)Apparatus and method for validating application deployment topology in cloud computing environment
US9235380B2 (en)Software modeling framework
WO2022016848A1 (en)Method and apparatus for performing application deployment according to service role
CN113127098B (en)Application program creation method based on micro-service architecture and related equipment
US20140068560A1 (en)Systems and methods for partitioning computing applications to optimize deployment resources
MoscickiDiane-distributed analysis environment for grid-enabled simulation and analysis of physics data
US20140282402A1 (en)Systems and methods for controlling branch latency within computing applications
CN116974555A (en)Method, device, equipment and storage medium for assembling software development kit
CN106775744B (en)Method and device for generating static library
US20150363195A1 (en)Software package management
US8938712B2 (en)Cross-platform virtual machine and method
CN111367510A (en)Android function module development method and device
CN106569880B (en) A method and system for dynamically sharing resources between Android applications
CN111399840A (en)Module development method and device
US11893367B2 (en)Source code conversion from application program interface to policy document
CN115480801A (en) A method and system for multi-project development, deployment and operation based on Vue framework
US8141042B2 (en)Extending portability of java code through the use of AOP
CN110955415A (en)Method for adapting projection multi-platform service
US8612963B2 (en)Guided problem resolution in deploying an application
CN117149162A (en)SDK automatic generation method and device, electronic equipment and storage medium
CN108139947B (en)System and method for isolating web user interface applications from runtime engines
CN115248680A (en)Software construction method, system, device, medium, and program product

Legal Events

DateCodeTitleDescription
PB01Publication
PB01Publication
SE01Entry into force of request for substantive examination
SE01Entry into force of request for substantive examination

[8]ページ先頭

©2009-2025 Movatter.jp