WO2016058488A1 - 一种用于提供sdk文件的方法与设备 - Google Patents

一种用于提供sdk文件的方法与设备 Download PDF

Info

Publication number
WO2016058488A1
WO2016058488A1 PCT/CN2015/091249 CN2015091249W WO2016058488A1 WO 2016058488 A1 WO2016058488 A1 WO 2016058488A1 CN 2015091249 W CN2015091249 W CN 2015091249W WO 2016058488 A1 WO2016058488 A1 WO 2016058488A1
Authority
WO
WIPO (PCT)
Prior art keywords
library
file
files
candidate
library file
Prior art date
Application number
PCT/CN2015/091249
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 WO2016058488A1 publication Critical patent/WO2016058488A1/zh

Links

Images

Classifications

    • 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

Definitions

  • the present application relates to the field of computers, and in particular, to a technology for providing an SDK file.
  • the full name of the SDK is called the Software Development Kit. It is generally a collection of development tools used by software engineers to build application software for specific software packages, software frameworks, hardware platforms, operating systems, etc. It can be easily designed for a certain program. The language provides some files for the API.
  • developers will use a large number of third-party SDKs according to the needs of the developed applications. For example, if a user develops a mobile phone application and wants to be able to share the related content to a social platform, it is necessary to obtain an SDK that can realize the function of sharing the content to the social platform. If the SDK is developed and designed by the user, it takes a lot of time. Energy and time.
  • the solution adopted in the field is: the third party on the web side compiles and links different functions to form an SDK library file, and packages and compresses the corresponding header file, document, and demo file, and the user downloads the compressed package from the webpage, and obtains the compressed package through decompression.
  • the SDK library files are then collected into the project that they developed.
  • the one SDK library file contains multiple functions, not all functions are required by a certain user.
  • the user cannot split the use, but must Full acceptance, so in the integration of subsequent third-party SDK library files, the efficiency of integration, the cost of integration, and the corresponding developed applications have received very adverse effects.
  • the download and compression package also contains A lot of documents or file content that users don't need also add a corresponding burden to users.
  • a method for providing an SDK file including:
  • the SDK file is provided to a corresponding target application.
  • an apparatus for providing an SDK file comprising:
  • a first device configured to provide a plurality of candidate library files to a user, where at least two of the candidate library files are derived from the same initial library file;
  • a second device configured to generate a corresponding SDK file according to the plurality of target library files selected by the user in the plurality of candidate library files;
  • a third device configured to provide the SDK file to a corresponding target application.
  • the present application allows the user to select a plurality of target library files in multiple candidate library files according to their actual needs, in which at least two of them are used.
  • the candidate library file is derived from the unified initial library file, and the target library file selected by the user is combined with the matching configuration file to generate a corresponding SDK file, and is provided to the target application of the user.
  • the size of the SDK file downloaded by the user can be reduced, the integration workload is reduced, the speed of application development is improved, the size of the executable file corresponding to the application is controlled, and the integration cost of the user is reduced.
  • FIG. 1 shows a schematic diagram of an apparatus for providing an SDK file in accordance with an aspect of the present application
  • FIG. 2 shows a flow chart of a method for providing an SDK file in accordance with another aspect of the present application.
  • the terminal, the device of the service network, and the trusted party each include one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
  • processors CPUs
  • input/output interfaces network interfaces
  • memory volatile and non-volatile memory
  • the memory may include non-persistent memory, random access memory (RAM), and/or non-volatile memory in a computer readable medium, such as read only memory (ROM) or flash memory.
  • RAM random access memory
  • ROM read only memory
  • Memory is an example of a computer readable medium.
  • Computer readable media includes both permanent and non-persistent, removable and non-removable media.
  • Information storage can be implemented by any method or technology.
  • the information can be computer readable instructions, data structures, modules of programs, or other data.
  • Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read only memory. (ROM), electrically erasable programmable read only memory (EEPROM), flash memory or other memory technology, compact disk read only memory (CD-ROM), digital versatile disk (DVD) or other optical storage,
  • computer readable media does not include non-transitory computer readable media, such as modulated data signals and carrier waves.
  • the apparatus 1 shows a schematic diagram of an apparatus for providing an SDK file in accordance with an aspect of the present application.
  • the apparatus 1 for providing an SDK file includes a first device 101, a second device 102, and a third device 103.
  • the first device 101 provides a plurality of candidate library files to the user, wherein at least two of the candidate library files are derived from the same initial library file; and the second device 102 is in the plurality of candidate library files according to the user.
  • the selected plurality of target library files generate corresponding SDK files; the third device 103 provides the SDK files to the corresponding target applications.
  • the first device 101 of the device 1 provides a plurality of candidate library files to the user, wherein at least two of the candidate library files are derived from the same initial library file.
  • the library file refers to compiling the SDK source code into a library, the library file containing the object file of the source code, and when the user application project loads the library file, it can be in its own.
  • the functions provided by the SDK are used in application engineering. When the user needs to implement a certain function, the corresponding SDK file needs to be obtained, and the SDK file contains the corresponding library file.
  • the device 1 that provides the SDK file The user is provided with a plurality of candidate library files, the candidate library files including a plurality of sub-library files in the initial library file, and a third-party library file matching the sub-library files.
  • the initial library file may be an entire SDK library file formed by compiling a plurality of functions, and the plurality of sub-library files are obtained by splitting the initial library files according to different functions. a plurality of library files, the plurality of sub-library files obtained by the splitting respectively correspond to one or more functions, and the functions are originally included under an initial library file; the initial library file further includes some functions for different functions, Independently designed multiple library files that are assigned to the same initial library file.
  • the multiple library files exist independently, instead of being split from an SDK library file, they are also provided to The user as a candidate library file, for example, the library file 1 and the library file 2 are library files respectively for two specific functions, which are originally independently designed, if the library file 1 and the library file 2 are based on a certain function.
  • the attributes are grouped under an initial library file, and the two library files become sub-library files of the initial library file.
  • at least two of the candidate library files are derived from the same initial library file, for example, two library files are all separated by the same initial library file, or the two library files are based on function correlation. Both come from the same initial library file, and based on the user's request, the two library files are provided to the user based on certain function selections.
  • the device 1 provides a plurality of candidate library files for the developer on the webpage side, and the candidate library file includes a sub-library file of the initial library file, for example, the initial The library file is a whole library file that links all the functions related to the sharing operation, and the device 1 splits it into a plurality of sub-library files, each of which corresponds to a corresponding one or A plurality of functions originally belonging to the initial library file, for example, the sub-library file 1 corresponds to the sharing function of the Sina Weibo, the sub-library file 2 corresponds to the sharing function of the QQ space, and the sub-library file 3 corresponds to the authorized login function of the Renren.
  • the sub-library file 1 corresponds to the sharing function of the Sina Weibo
  • the sub-library file 2 corresponds to the sharing function of the QQ space
  • the sub-library file 3 corresponds to the authorized login function of the Renren.
  • the candidate library file further includes a third-party library file corresponding to the sub-library file of the initial library file, for example, the sub-library file 1 corresponds to the sharing function of the Sina Weibo.
  • the library file of the Sina Weibo application will also be used as a candidate library file and provided to the developer on the webpage side.
  • at least two of the plurality of candidate library files provided to the developer are derived from the same initial library file. example For example, the above sub-library file 1, sub-library file 2, sub-library file 3, sub-library file 4, ... are all derived from the same initial library file.
  • the second device 102 of the device 1 generates a corresponding SDK file according to the plurality of target library files selected by the user in the plurality of candidate library files.
  • each candidate library file corresponds to a corresponding function implementation, and each candidate library file is relatively independent, and the coupling between the candidate library files is minimized.
  • Sex because the functions corresponding to each candidate library file are relatively independent, it is possible to avoid repeated waste of resources.
  • the user can select a certain candidate library file according to the actual needs of the application developed by himself, and does not need to accept all.
  • the device 1 provides N candidate library files, and the functions required by the user only correspond to K candidate library files therein.
  • the b candidate library files in the K candidate library files are all from the same initial library file, such as several sub-library files obtained by splitting the same initial library file, where the user does not need to select a complete library file.
  • the huge initial library file can be used separately for these split library files, such as selecting the a candidate library files corresponding to some functions in the initial library file, instead of selecting other b candidate libraries. file.
  • the plurality of candidate library files selected by the user are the plurality of target library files, that is, the library files respectively corresponding to the respective specific functions that the user finally needs to obtain from the device 1.
  • a corresponding SDK file is generated in accordance with the configuration file corresponding to each target library file, and the compressed file corresponding to the SDK file is published on the webpage.
  • the configuration file includes a header file, a document, a demo file, and the like corresponding to the target library file.
  • the second device 102 configures a path setting of the target library file and performs the multiple target library files according to the plurality of target library files selected by the user in the plurality of candidate library files. Compress processing to generate the corresponding SDK file.
  • each target library file selected by the user, and corresponding header files, documents, Demo files, and the like all correspond to certain configuration file information, and the configuration file information defines the corresponding target library file.
  • the target library file and the corresponding header file, the document, the demo file, and the like are corresponding content
  • the specific content under the folder is added to a compressed package based on the folder path corresponding to the respective content.
  • the resulting SDK file is provided to the user.
  • the third device 103 of the device 1 provides the SDK file to the corresponding target application.
  • the user obtains the SDK file corresponding to the target library file, for example, downloads the compressed package of the SDK file corresponding to the selected target library file from the webpage end, and obtains the corresponding target in the SDK file by decompressing.
  • the library file is then added to the application project being developed by the target library file for integration, so that the application developed by the user can call the corresponding function corresponding to the target library file at runtime.
  • the user invokes the operation of the target SDK in the project of developing the application, he may select a plurality of target library files in the plurality of candidate library files according to his actual needs, and then combine the target library files selected by the user.
  • the matching configuration file generates the corresponding SDK file and is provided to the user's target application.
  • the first device 101 of the device 1 comprises a first unit 1011 (not shown) and a second unit 1012 (not shown).
  • the first unit 1011 determines a corresponding plurality of candidate library files according to the SDK request information submitted by the user, where at least two of the candidate library files are derived from the same initial library file corresponding to the SDK request information;
  • the second unit 1012 provides the plurality of candidate library files to the user.
  • the SDK file finally provided to the user by the device 1 is judged based on the request information submitted by the user to the device 1. If the corresponding candidate library file already exists for selection based on the request information submitted by the user, the candidate library file may be directly provided to the user, for example, the device 1 has existed before the user requests.
  • the plurality of sub-library files of the initial library file corresponding to the SDK request information directly provide the corresponding sub-library file to the user, where the sub-library file may be pre-disassembled from the initial library file.
  • the plurality of library files obtained by the division may also be a plurality of library files that are independently designed and distributed under the unified initial library file.
  • the corresponding function corresponding to the request information is included in a plurality of functions covered by an initial library file, and at the same time, the initial library file does not have a corresponding split sub-library file, and at this time, the device 1 does not The huge initial file containing a plurality of functions that the user does not need is directly provided to the user, but the initial library file is split into multiples based on the SDK request information of the user. a sub-library file, and then providing the corresponding sub-library file as a candidate library file to the user selection.
  • the first unit 1011 of the device 1 determines a corresponding initial library file according to the SDK request information submitted by the user; and determines a corresponding plurality of candidate library files according to the initial library file, wherein at least two of the candidates are The library files are all derived from the initial library file.
  • an initial library file in which the function originally exists may be determined, and then a corresponding sub-library file is determined based on the initial library file, where the initial library file includes at least Two corresponding sub-library files, the application functions corresponding to the sub-library files are divided from the initial library files, for example, the initial library files correspond to functions A, B, and C, if the initial library files have sub- Library file 1 and sub-library file 2, sub-library file 1 contains function A, and sub-library file 2 contains functions B and C.
  • the sub-library files 1 and 2 can be used as candidate library files corresponding to the SDK request information, because the initial library file will have less than two sub-library files after the function is refined, so
  • the sub-library file corresponding to the initial library file is part of the plurality of candidate library files, at least two candidate library files in the candidate library file as a whole are derived from the same initial library file.
  • the initial library file may be an SDK library file formed by compiling a plurality of functions, or may be a library file corresponding to a set of corresponding functions of a plurality of independently designed library files.
  • the plurality of candidate library files in the device 1 further comprise a third-party library file matching the sub-library file originating from the initial library file.
  • the function may correspond to the corresponding third-party library file, in which case the device 1 will provide the third-party library file as a candidate library file to the user for selection. For example, developers want to share their own applications to the WeChat platform, which corresponds to the WeChat platform sharing this function.
  • the device 1 will also provide the WeChat library file as a candidate library file to the user.
  • the third-party library file is separated from the sub-library file corresponding to the initial library file corresponding thereto, and further, when the third-party library file is updated and updated, the user may It is convenient to replace the third-party library files that are updated with the update.
  • the developer wants to share his application to WeChat, so that the function of calling WeChat is used as the sub-library file libSocialWechat.a.
  • the official library file of WeChat is libWeChatSDK.a, which are separated, so Developers can easily replace the new version of the WeChat SDK library file.
  • the second unit 1012 in the device 1 provides the plurality of candidate library files to the user according to the function relevance information between the candidate library files.
  • the candidate library files provided to the user have a certain functional correlation
  • the source of the candidate library file includes a sub-library corresponding to the initial library file.
  • a file the function corresponding to each sub-library file is derived from the initial library file, and each function of the initial library file has a certain correlation, for example, a share function-related initial library file, wherein It may include functions shared by various social platforms, comment functions, share screen capture functions, shake sharing functions, etc.
  • Each function has certain similarities or correlations, and there may be certain calling relationships between different functions.
  • the implementation of the function corresponding to the sub-library file 1 needs to be based on the function corresponding to the sub-library file 2.
  • the source of the candidate library file further includes a third-party library file that matches the sub-library file originating from the initial library file, and the implementation of the corresponding function of the sub-library file also depends on the third-party library file. Therefore, the third-party library files are also functionally related to the sub-library files that match them. Therefore, the candidate library file provided to the user according to the user's SDK request information is not arbitrarily selected, but provides a personalized library file with related functions based on the application function required by the user.
  • the at least two candidate library files of the device 1 include a core library file corresponding to the initial library file.
  • the candidate library file originating from the initial library file includes a corresponding core library file.
  • the initial library file is split into different sub-library files based on corresponding functions when splitting, including Core library files and other sub-library files, which are library files that can implement the basic functions of the initial library files, and can provide basic service functions for other sub-library files, such as network services, data storage, etc.
  • the core library files also have good functional extensibility and can accommodate the functions provided by other library files.
  • Other sub-library files try to ensure that a single function is implemented, so that the coupling of each sub-library file can be reduced, thereby ensuring that each candidate library file selected by the user avoids the occurrence of repetitive functions and wastes resources.
  • the other sub-library files are not necessarily selected by the user, and at the same time, the other sub-library files may call the corresponding basic service functions of the core library files.
  • the core library file comprises a function extension interface
  • the implementation of the base service of the core library file does not involve third party source code.
  • the core library file that provides the basic function should have better function scalability, and can continuously accept other new extended functions based on the original basic functions, and connect the functions with certain relevance.
  • a corresponding extended function interface is provided in the core library file, so that the dynamic library file can call the interface of the extended function, and the user can conveniently implement other extended functions.
  • one of the core library files can implement functions such as sharing and authorization of a basic platform such as Sina Weibo.
  • the extended function interface on the core library file connects other sub-library files corresponding to the other platforms to the library file.
  • the other sub-library files can use the basic service functions provided by the core library file in a specific operation.
  • the core library file should be as simple as possible while providing the core service, thereby limiting the size of the core library file.
  • the third party is not involved in the implementation of the basic service of the core library file.
  • the source code is provided, but through the implementation of basic service functions, such as network services, data storage, sharing statistics services.
  • the source code of the corresponding basic service provided by the third party is not It is developed for a core library file, but will contain source code for different processing for different situations of various application scenarios. Therefore, for a particular core library file, the source code provided by the third party is too long and there is no unnecessary waste. If the core library file implements the corresponding basic service function according to its own needs, it is more targeted, and only realizes the required situation, without having to consider the unnecessary situation, so the number of codes can be reduced, and the core can be reduced. Library file size for optimal results.
  • the second device 102 is configured to: if the core library file corresponding to the initial library file to which the target library file belongs is not selected, according to the plurality of target library files, And the unselected core library file, and generate a corresponding SDK file.
  • the device 1 based on the SDK request information submitted by the user, the device 1 provides the user with a corresponding candidate library file at the webpage end, where the candidate library file includes a sub-library file originating from the initial library file.
  • the sub-library file includes the core library file and the other sub-library file
  • the candidate library file selected by the user when determining the target library file generally includes the core library file corresponding to the initial library file and corresponding One or more other sub-library files, but it may also occur that the user only selects several other sub-library files corresponding to the initial library file, and does not select the core library file.
  • the core library file includes the core functions of the initial library file, and also includes basic service functions provided for corresponding other sub-library files, such as network services, data storage, and sharing statistics services. If the core library file is not selected, the function of the selected other sub-library file cannot be successfully implemented. Therefore, preferably, if the core library file corresponding to the initial library file to which the target library file belongs is not selected. The unselected core library file will be automatically set as a candidate library file, and added to the generated SDK file for provision to the user.
  • FIG. 2 shows a flow chart of a method for providing an SDK file in accordance with another aspect of the present application.
  • step S201 the device 1 provides a plurality of candidate library files to the user, wherein at least two of the candidate library files are derived from the same initial library file; in step S202, the device 1 is according to the The user generates a corresponding SDK file in the plurality of target library files selected by the plurality of candidate library files; in step S203, the device 1 provides the SDK file to the corresponding target application.
  • the device 1 provides a plurality of candidate library files to the user, wherein at least two of the candidate library files are derived from the same initial library file.
  • the library file refers to compiling the SDK source code into a library, the library file containing the object file of the source code, and when the user application project loads the library file, it can be in its own.
  • the functions provided by the SDK are used in application engineering. When the user needs to implement a certain function, the corresponding SDK file needs to be obtained, and the SDK file contains the corresponding library file.
  • the device 1 that provides the SDK file provides the user with a plurality of candidate library files
  • the candidate library file includes a plurality of sub-library files in the initial library file, and also includes a third-party library file matching the sub-library file.
  • the initial library file may be an entire SDK library file formed by compiling a plurality of functions, and the plurality of sub-library files are obtained by splitting the initial library files according to different functions. a plurality of library files, the plurality of sub-library files obtained by the splitting respectively correspond to one or more functions, and the functions are originally included under an initial library file; the initial library file further includes some functions for different functions, Independently designed multiple library files that are assigned to the same initial library file.
  • the multiple library files exist independently, instead of being split from an SDK library file, they are also provided to The user as a candidate library file, for example, the library file 1 and the library file 2 are library files respectively for two specific functions, which are originally independently designed, if the library file 1 and the library file 2 are based on a certain function.
  • the attributes are grouped under an initial library file, and the two library files become sub-library files of the initial library file.
  • at least two of the candidate library files are derived from the same initial library file, for example, two library files are all separated by the same initial library file, or the two library files are based on function correlation. Both come from the same initial library file, and based on the user's request, the two library files are provided to the user based on certain function selections.
  • the device 1 provides a plurality of candidate library files for the developer on the webpage side, and the candidate library file includes a sub-library file of the initial library file, for example, the initial The library file is a whole library file that links all the functions related to the sharing operation, and the device 1 splits it into a plurality of sub-library files, each of which corresponds to a corresponding one or Multiple originally belong to the initial The function of the library file, such as the sub-library file 1 corresponds to the sharing function of Sina Weibo, the sub-library file 2 corresponds to the sharing function of the QQ space, and the sub-library file 3 corresponds to the authorized login function of the Renren network, ...;
  • the candidate library file further includes a third-party library file corresponding to
  • the sub-library file 1 corresponds to the sharing function of the Sina Weibo
  • the library file of the Sina Weibo application is also used as the candidate library file.
  • the candidate library file is also used as the candidate library file.
  • at least two of the plurality of candidate library files provided to the developer are derived from the same initial library file.
  • the above sub-library file 1, sub-library file 2, sub-library file 3, sub-library file 4, ... are all derived from the same initial library file.
  • step S202 the device 1 generates a corresponding SDK file according to the plurality of target library files selected by the user in the plurality of candidate library files.
  • each candidate library file corresponds to a corresponding function implementation, and each candidate library file is relatively independent, and the coupling between the candidate library files is minimized.
  • Sex because the functions corresponding to each candidate library file are relatively independent, it is possible to avoid repeated waste of resources.
  • the user can select a certain candidate library file according to the actual needs of the application developed by himself, and does not need to accept all.
  • the device 1 provides N candidate library files, and the functions required by the user only correspond to K candidate library files therein.
  • the b candidate library files in the K candidate library files are all from the same initial library file, such as several sub-library files obtained by splitting the same initial library file, where the user does not need to select a complete library file.
  • the huge initial library file can be used separately for these split library files, such as selecting the a candidate library files corresponding to some functions in the initial library file, instead of selecting other b candidate libraries. file.
  • the plurality of candidate library files selected by the user are the plurality of target library files, that is, the library files respectively corresponding to the respective specific functions that the user finally needs to obtain from the device 1.
  • a corresponding SDK file is generated in accordance with the configuration file corresponding to each target library file, and the compressed file corresponding to the SDK file is published on the webpage.
  • the configuration file includes a header file, a document, a demo file, and the like corresponding to the target library file.
  • step S202 according to the plurality of target library files selected by the user in the plurality of candidate library files, the path setting of the target library file is configured and the plurality of The target library file is compressed to generate a corresponding SDK file.
  • each target library file selected by the user, and corresponding header files, documents, Demo files, and the like all correspond to certain configuration file information, and the configuration file information defines the corresponding target library file.
  • the related information of the content displayed by the configuration file information is also provided to the user at the webpage end, and the user selects the target library file, the corresponding header file, the document, and the demo at the webpage end.
  • step S203 the device 1 provides the SDK file to the corresponding target application.
  • the user obtains the SDK file corresponding to the target library file, for example, downloads the compressed package of the SDK file corresponding to the selected target library file from the webpage end, and obtains the corresponding target in the SDK file by decompressing.
  • the library file is then added to the application project being developed by the target library file for integration, so that the application developed by the user can call the corresponding function corresponding to the target library file at runtime.
  • the user invokes the operation of the target SDK in the project of developing the application, he may select a plurality of target library files in the plurality of candidate library files according to his actual needs, and then combine the target library files selected by the user.
  • the matching configuration file generates the corresponding SDK file and is provided to the user's target application.
  • the step S201 includes a step S2011 (not shown) and a step S2012 (not shown).
  • step S2011 the device 1 determines a corresponding plurality of candidate library files according to the SDK request information submitted by the user, wherein at least two of the candidate library files are originated from the same initial library corresponding to the SDK request information.
  • File; in step S2012, the device 1 provides the plurality of candidate library files to the user.
  • the SDK file finally provided to the user by the device 1 is judged based on the request information submitted by the user to the device 1. If based on the request information submitted by the user, it has been saved. If the corresponding candidate library file is available for selection, the candidate library file may be directly provided to the user, for example, an initial library file corresponding to the SDK request information that has existed before the user request in the device 1.
  • the plurality of sub-library files directly provide the corresponding sub-library file to the user, where the sub-library file may be a plurality of library files that are previously obtained by splitting from the initial library file, or It is an independent design of multiple library files that are assigned to the unified initial library file.
  • the device 1 If it is based on the SDK request information submitted by the user, it may be determined that the corresponding function corresponding to the request information is included in multiple functions covered by an initial library file, and at the same time, the initial library file does not have a corresponding split child. Library file, at this time, the device 1 does not directly provide the initial library file containing a large number of functions that are not required by the user to the user, but based on the SDK request information of the user. Instantly splitting the initial library file into a plurality of sub-library files, and then providing the corresponding sub-library file as a candidate library file to the user selection.
  • the device 1 determines a corresponding initial library file according to the SDK request information submitted by the user; and determines corresponding multiple candidate library files according to the initial library file, wherein at least two of the candidates are The library files are all derived from the initial library file.
  • an initial library file in which the function originally exists may be determined, and then a corresponding sub-library file is determined based on the initial library file, where the initial library file includes at least Two corresponding sub-library files, the application functions corresponding to the sub-library files are divided from the initial library files, for example, the initial library files correspond to functions A, B, and C, if the initial library files have sub- Library file 1 and sub-library file 2, sub-library file 1 contains function A, and sub-library file 2 contains functions B and C.
  • the sub-library files 1 and 2 can be used as candidate library files corresponding to the SDK request information, because the initial library file will have less than two sub-library files after the function is refined, so
  • the sub-library file corresponding to the initial library file is part of the plurality of candidate library files, at least two candidate library files in the candidate library file as a whole are derived from the same initial library file.
  • the initial library file may be an SDK library file formed by compiling a plurality of functions, or may be a library file corresponding to a set of corresponding functions of a plurality of independently designed library files.
  • the plurality of candidate library files in the device 1 further comprise a third-party library file matching the sub-library file originating from the initial library file.
  • a third-party library file matching the sub-library file originating from the initial library file.
  • the device 1 will provide the third-party library file as a candidate library file to the user for selection. For example, developers want to share their own applications to the WeChat platform.
  • the device 1 will also provide the WeChat library file as a candidate library file to the user.
  • the third-party library file is separated from the sub-library file corresponding to the initial library file corresponding thereto, and further, when the third-party library file is updated and updated, the user may It is convenient to replace the third-party library files that are updated with the update.
  • the developer wants to share his application to WeChat, so that the function of calling WeChat is used as the sub-library file libSocialWechat.a.
  • the official library file of WeChat is libWeChatSDK.a, which are separated, so Developers can easily replace the new version of the WeChat SDK library file.
  • the device 1 provides the plurality of candidate library files to the user according to the function relevance information between the candidate library files.
  • the candidate library files provided to the user have a certain functional correlation
  • the source of the candidate library file includes a sub-library corresponding to the initial library file.
  • a file, the function corresponding to each sub-library file is derived from the initial library file, and each function of the initial library file has a certain correlation, for example, a share function-related initial library file, wherein It may include functions shared by various social platforms, comment functions, share screen capture functions, shake sharing functions, etc.
  • Each function has certain similarities or correlations, and there may be certain calling relationships between different functions.
  • the implementation of the function corresponding to the sub-library file 1 needs to be based on the function corresponding to the sub-library file 2, when the initial library file is split into multiple sub-library files, although each sub-library file remains relatively Independence, but the functional correlation information between them still exists.
  • the source of the candidate library file further includes a third-party library file that matches the sub-library file originating from the initial library file, and the implementation of the corresponding function of the sub-library file also depends on the third-party library file. Therefore, the third-party library files are also functionally related to the sub-library files that match them. Therefore, the candidate library file provided to the user according to the user's SDK request information is not arbitrarily selected, but provides a personalized library file with related functions based on the application function required by the user.
  • the at least two candidate library files of the device 1 include a core library file corresponding to the initial library file.
  • the candidate library file originating from the initial library file includes a corresponding core library file.
  • the initial library file is split into different sub-library files based on corresponding functions when splitting, including Core library files and other sub-library files, which are library files that can implement the basic functions of the initial library files, and can provide basic service functions for other sub-library files, such as network services, data storage, etc.
  • the core library files also have good functional extensibility and can accommodate the functions provided by other library files.
  • Other sub-library files try to ensure that a single function is implemented, so that the coupling of each sub-library file can be reduced, thereby ensuring that each candidate library file selected by the user avoids the occurrence of repetitive functions and wastes resources.
  • the other sub-library files are not necessarily selected by the user, and at the same time, the other sub-library files may call the corresponding basic service functions of the core library files.
  • the core library file comprises a function extension interface
  • the implementation of the base service of the core library file does not involve third party source code.
  • the core library file that provides the basic function should have better function scalability, and can continuously accept other new extended functions based on the original basic functions, and connect the functions with certain relevance.
  • a corresponding extended function interface is provided in the core library file, so that the dynamic library file can call the interface of the extended function, and the user can conveniently implement other extended functions.
  • one of the core library files can implement functions such as sharing and authorization of a basic platform such as Sina Weibo.
  • the extended function interface on the core library file connects other sub-library files corresponding to the other platforms to the library file.
  • the other sub-library files can use the basic service functions provided by the core library file in a specific operation.
  • the core library file should be as simple as possible while providing the core service, thereby limiting the size of the core library file.
  • the third party is not involved in the implementation of the basic service of the core library file.
  • the source code is provided, but through the implementation of basic service functions, such as network services, data storage, sharing statistics services.
  • the source code of the corresponding basic service provided by the third party is not developed for a certain core library file, but will contain different processing source code corresponding to different situations of various application scenarios. Therefore, for a particular core library file, the source code provided by the third party is too long and there is no unnecessary waste. If the core library file implements the corresponding basic service function according to its own needs, it is more targeted, and only realizes the required situation, without having to consider the unnecessary situation, so the number of codes can be reduced, and the core can be reduced. Library file size for optimal results.
  • the device 1 is configured to: if the core library file corresponding to the initial library file to which the target library file belongs is not selected, according to the multiple target library files, and the unselected The core library file, the corresponding SDK file is generated.
  • the device 1 based on the SDK request information submitted by the user, the device 1 provides the user with a corresponding candidate library file at the webpage end, where the candidate library file includes a sub-library file originating from the initial library file.
  • the sub-library file includes the core library file and the other sub-library file
  • the candidate library file selected by the user when determining the target library file generally includes the core library file corresponding to the initial library file and corresponding One or more other sub-library files, but it may also occur that the user only selects several other sub-library files corresponding to the initial library file, and does not select the core library file.
  • the core library file includes the core functions of the initial library file, and also includes basic service functions provided for corresponding other sub-library files, such as network services, data storage, and sharing statistics services. If the core library file is not selected, the function of the selected other sub-library file cannot be successfully implemented. Therefore, preferably, if the core library file corresponding to the initial library file to which the target library file belongs is not selected. The unselected core library file will be automatically set as a candidate library file, and added to the generated SDK file for provision to the user.

Abstract

一种用于提供SDK文件的方法与设备;将多个候选库文件提供至用户,其中,至少两个所述候选库文件源于同一初始库文件(201);根据所述用户在所述多个候选库文件中选择的多个目标库文件生成对应的SDK文件(202);将所述SDK文件提供给对应的目标应用(203)。与现有技术相比,通过在应用程序工程调用SDK的操作中,使得用户可以根据自己的实际需要在多个候选库文件中自行选择若干个目标库文件生成对应的SDK文件,并将所述SDK文件应用到相应的目标应用中。从而,可以减少用户下载的SDK文件的大小,减轻了集成工作量,提高了应用程序开发的速度,控制了应用程序对应的可执行文件的大小,并降低了用户的集成成本。

Description

一种用于提供SDK文件的方法与设备 技术领域
本申请涉及计算机领域,尤其涉及一种用于提供SDK文件的技术。
背景技术
SDK的全称为Software Development Kit,一般都是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合,它可以简单的为某个程序设计语言提供应用程序接口API的一些文件。在开发基于移动设备操作系统的应用过程中,用户根据所开发的应用的需要会使用大量的第三方SDK。例如,用户开发一款手机应用,并希望能够将相关内容分享到一个社交平台,需要获得能够实现分享内容到所述社交平台功能的SDK,所述SDK若是由用户自行开发设计,需要耗费大量的精力和时间。
目前,该领域采用的方案是:网页端第三方将不同的功能编译链接形成一个SDK库文件,并与相应的头文件、文档、demo文件打包压缩,用户从网页端下载压缩包,通过解压得到所述SDK库文件,再集合到自己开发的工程中。但是,由于所述一个SDK库文件中包含了多个功能,而并不是所有功能都被某一用户全部需要,同时,对于解压得到的SDK库文件,用户又不能自行拆分使用,而是必须全盘接受,所以在后续的第三方SDK库文件的集成中,集成的效率、集成的成本、以及对应所开发的应用程序都收到了很不利的影响,不仅如此,所述下载压缩包中还包含了很多用户不需要的文档或文件内容,也为用户增加了相应的负担。
发明内容
本申请的目的是提供一种用于提供SDK文件的方法与设备。
根据本申请的一个方面,提供了一种用于提供SDK文件的方法,包括:
将多个候选库文件提供至用户,其中,至少两个所述候选库文件源于同一初始库文件;
根据所述用户在所述多个候选库文件中选择的多个目标库文件生成对应的SDK文件;
将所述SDK文件提供给对应的目标应用。
根据本申请的另一方面,还提供了一种用于提供SDK文件的设备,包括:
第一装置,用于将多个候选库文件提供至用户,其中,至少两个所述候选库文件源于同一初始库文件;
第二装置,用于根据所述用户在所述多个候选库文件中选择的多个目标库文件生成对应的SDK文件;
第三装置,用于将所述SDK文件提供给对应的目标应用。
与现有技术相比,本申请通过在应用程序工程调用SDK的操作中,使得用户可以根据自己的实际需要在多个候选库文件中自行选择若干个目标库文件,其中,至少有两个所述候选库文件源于统一初始库文件,再将用户选择的所述目标库文件结合着相匹配的配置文件生成相应的SDK文件,并提供给用户的目标应用使用。从而,可以减少用户下载的SDK文件的大小,减轻了集成工作量,提高了应用程序开发的速度,控制了应用程序对应的可执行文件的大小,并降低了用户的集成成本。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一个方面的一种用于提供SDK文件的设备示意图;
图2示出根据本申请另一个方面的一种用于提供SDK文件的方法流程图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
图1示出根据本申请一个方面的一种用于提供SDK文件的设备示意图。所述用于提供SDK文件的设备1包括第一装置101、第二装置102和第三装置103。
其中,第一装置101将多个候选库文件提供至用户,其中,至少两个所述候选库文件源于同一初始库文件;第二装置102根据所述用户在所述多个候选库文件中选择的多个目标库文件生成对应的SDK文件;第三装置103将所述SDK文件提供给对应的目标应用。
具体地,该设备1的第一装置101将多个候选库文件提供至用户,其中,至少两个所述候选库文件源于同一初始库文件。在此,所述的库文件是指将SDK源代码编译成一个库,该库文件中包含了所述源代码的对象文件,当用户的应用工程加载了所述库文件,就可以在自己的应用工程中使用所述SDK提供的功能。当用户需要实现某功能,需要获得相应的SDK文件,所述SDK文件中包含着对应的库文件。此时,提供SDK文件的设备1 为用户提供了多个候选库文件,所述候选库文件包括初始库文件中的多个子库文件,也包括与所述子库文件相匹配的第三方库文件。其中,所述初始库文件可以是将多个功能编译链接形成的一个整体的SDK库文件,此时所述多个子库文件就是对所述初始库文件依照不同的功能进行拆分后所得到的多个库文件,该拆分所得到的多个子库文件分别对应于一个或多个功能,而这些功能原本都包含在一个初始库文件之下;所述初始库文件还包含一些针对不同功能、独立设计出的、划归于同一初始库文件之下的多个库文件,所述多个库文件原本就独立存在,而不是从一个SDK库文件中拆分而来的,它们同样被提供给用户作为候选库文件,例如库文件1和库文件2是分别针对两个具体功能的库文件,它们最初都是独立设计得到的,若将所述库文件1和库文件2基于一定的功能相关性划归到一个初始库文件之下,则这两个库文件就成为所述初始库文件的子库文件。在此,至少有两个所述候选库文件源于同一初始库文件,例如,有两个库文件都是由同一个初始库文件拆分得到的,或者这两个库文件基于功能的相关性都来自于同一个初始库文件,基于所述用户的请求,所述两个库文件基于一定的功能选择都会被提供给所述用户。
例如,一款移动应用的开发者,希望将自己的移动应用的相关内容分享到各个社交平台,例如新浪微博、微信、QQ空间、人人网等,此时,所述开发者希望获得实现分享到相应社交平台这一功能的SDK文件,首先,该设备1在网页端为开发者提供了多个候选库文件,所述候选库文件包括初始库文件的子库文件,例如,所述初始库文件是一个将所有与所述分享操作相关的功能编译连接成的一个整体的库文件,则所述设备1将其拆分成多个子库文件,每个子库文件都对应于相应的一个或多个原本属于初始库文件的功能,如子库文件1对应于新浪微博的分享功能,子库文件2对应于QQ空间的分享功能,子库文件3对应于人人网的授权登陆功能,……;所述候选库文件还包括初始库文件的子库文件所对应的第三方库文件,例如所述子库文件1对应于新浪微博的分享功能,则新浪微博应用的库文件也会作为候选库文件,并在网页端提供给所述开发者。在此,提供给开发者的所述多个候选库文件中至少有两个是来源于同一个初始库文件。例 如,上述子库文件1、子库文件2、子库文件3、子库文件4……,都是源于同一个所述初始库文件。
接着,该设备1的第二装置102根据所述用户在所述多个候选库文件中选择的多个目标库文件生成对应的SDK文件。对于所述设备1所提供的多个候选库文件,每一个候选库文件都分别对应于相应的功能实现,每一个候选库文件都是相对独立的,尽量减小各个候选库文件之间的耦合性,因为各个候选库文件对应的功能相对独立,所以可以避免产生资源的重复浪费。进而,所述用户可以根据自己开发的应用的实际需要选择一定的候选库文件,并不需要全部接受。例如,设备1提供了N个候选库文件,而所述用户需要的功能只对应于其中的K个候选库文件,此时,在剩下的N-K个候选库文件中可能存在a个候选库文件与K个候选库文件中的b个候选库文件都来自于同一个初始库文件,如都是由同一个初始库文件进行拆分得到的若干个子库文件,在此,用户不需要选择一个完整的、庞大的初始库文件,而是可以对这些拆分的库文件分别使用,如选择与初始库文件中部分功能分别对应的所述a个候选库文件,而不用选择其他的b个候选库文件。在此,所述用户所选择的若干个候选库文件即为所述多个目标库文件,也就是所述用户最终要从设备1中获得的相应具体功能所分别对应的库文件。进一步,在用户选定的多个目标库文件的基础上,配合着各个目标库文件所对应的配置文件生成一个对应的SDK文件,并将该SDK文件对应的压缩文件在网页端发布。在此,所述配置文件包括与所述目标库文件对应的头文件、文档、Demo文件等。
优选地,所述第二装置102根据所述用户在所述多个候选库文件中选择的多个目标库文件,通过配置所述目标库文件的路径设置并对所述多个目标库文件进行压缩处理,生成对应的SDK文件。具体地,所述用户选择的每一个目标库文件、以及相对应的头文件、文档、Demo文件等内容都对应于一定的配置文件信息,所述的配置文件信息定义了所对应的目标库文件、以及相对应的头文件、文档、Demo文件等内容的关键字、描述、标题、文件路径、是否可选等信息。在网页端也会将所述配置文件信息显示的所述内容的相关信息提供给所述用户,当所述用户在网页端选中下载 所述目标库文件、以及相对应的头文件、文档、Demo文件等相应内容时,会基于所述各个内容对应的所述文件夹路径把该文件夹下的具体内容共同添加到一个压缩包内,最终生成的SDK文件,提供给所述用户。
接着,该设备1的第三装置103将所述SDK文件提供给对应的目标应用。所述用户获取了目标库文件所对应的SDK文件,例如,从网页端将选定的目标库文件所对应的SDK文件的压缩包下载下来,再通过解压缩获得所述SDK文件中对应的目标库文件,再将目标库文件添加到自己正在开发的应用程序工程中进行集成,从而使得所述用户开发的应用在运行时可以调用实现所述目标库文件所对应的相应功能。
在此,用户在开发应用程序的工程中调用目标SDK的操作时,可以根据自己的实际需要在多个候选库文件中自行选择若干个目标库文件,再将用户选择的所述目标库文件结合着相匹配的配置文件生成相应的SDK文件,并提供给用户的目标应用使用。从而,可以减少用户下载的SDK文件的大小,减轻了集成工作量,提高了应用程序开发的速度,控制了应用程序对应的可执行文件的大小,并降低了用户的集成成本。
在一个优选实施例中,所述设备1第一装置101包括第一单元1011(未示出)和第二单元1012(未示出)。
其中,第一单元1011根据用户所提交的SDK请求信息确定对应的多个候选库文件,其中,至少两个所述候选库文件源于与所述SDK请求信息相对应的同一初始库文件;第二单元1012将所述多个候选库文件提供至所述用户。
具体地,该设备1最终提供给用户的SDK文件是基于用户所提交给所述设备1的请求信息而判断的。若基于用户所提交的请求信息,已经存在相对应的候选库文件可用于选择,则可以直接将所述候选库文件提供给用户,例如,所述设备1中在用户请求之前就已经存在的与所述SDK请求信息对应的初始库文件的多个子库文件,则直接将对应的子库文件提供给所述用户,在此,所述的子库文件可以是预先从所述初始库文件中拆分得到的多个库文件,也可以是本身就是独立设计出的划归于统一初始库文件之下的多个库文件。若是基于用户所提交的SDK请求信息,可以判断 所述请求信息对应的相应功能包含在一个初始库文件所涵盖的多个功能中,同时,所述初始库文件还没有对应的拆分好的子库文件,此时,设备1并不会将这个庞大且包含着多个所述用户并不需要的功能的初始库文件直接提供给所述用户,而是基于所述用户的所述SDK请求信息,即时将所述初始库文件拆分成多个子库文件,再将相应的所述子库文件作为候选库文件提供给所述用户选择。
优选地,所述设备1的第一单元1011根据用户所提交的SDK请求信息确定对应的初始库文件;根据所述初始库文件确定对应的多个候选库文件,其中,至少两个所述候选库文件均源于所述初始库文件。
具体地,根据所述的SDK请求信息所确定的相应功能,可以确定所述功能原始存在的初始库文件,进而基于所述初始库文件确定其对应的子库文件,所述初始库文件至少包括两个对应的子库文件,子库文件所对应的应用功能是从所述初始库文件中划分出来的,例如,初始库文件对应于功能A、B、C,若所述初始库文件有子库文件1和子库文件2,子库文件1包含功能A,子库文件2包含功能B和C。在此,所述子库文件1和2就可以作为所述SDK请求信息所对应的候选库文件,因为初始库文件将功能细化后生成的子库文件不会少于2个,所以将所述初始库文件对应的子库文件作为多个候选库文件的一部分时,就使得整体上所述候选库文件中至少会有两个候选库文件源于同一个所述初始库文件。在此,所述初始库文件可以是将多个功能编译链接形成的一个SDK库文件,也可以是多个独立设计的库文件的所对应功能的集合对应的库文件。
优选地,该设备1中所述多个候选库文件还包括与源于所述初始库文件的子库文件相匹配的第三方库文件。根据用户所提交的SDK请求信息确定对应的多个候选库文件时,首先会选择与所述SDK请求信息对应的初始库文件的对应的子库文件,每一个所述子库文件都对应于一个或若干个功能,所述的功能可能会对应于相应的第三方库文件,此时,所述设备1就会将所述第三方库文件也作为候选库文件提供给所述用户来选择。例如,开发者希望将自己开发的应用分享到微信平台,对应于微信平台分享这一功能除了需要分享到微信平台这一操作的库文件,还需要有分享平 台,即微信平台对应的微信库文件,此时,所述设备1就会将微信库文件也作为候选库文件提供给所述用户。在此,优选地,所述的第三方库文件和与其对应的所述源于所述初始库文件的子库文件要相分离,进而,当第三方库文件升级更新时,所述用户就可以方便的替换到所升级更新的第三方库文件。例如,开发者希望将自己的应用分享到微信,从而把调用微信的功能作为子库文件libSocialWechat.a,此时,微信的官方库文件是libWeChatSDK.a,两者是相分离的,所以所述开发者可以方便替换新版的微信SDK库文件。
此外,并不是所有的功能都一定会有相对应的第三方库文件,例如,当开发者希望自己开发的应用具有摇一摇功能时,因为此功能不需要第三方的支持,所以没有对应的第三方库文件,进而所述设备1只需要将摇一摇操作所对应的库文件作为候选库文件,而不需要匹配第三方库文件。
优选地,所述设备1中第二单元1012根据所述候选库文件间的功能相关性信息将所述多个候选库文件提供至所述用户。
具体地,基于所述用户所提交的SDK请求信息,提供给所述用户的候选库文件之间具有一定的功能相关性,所述候选库文件的来源包括与所述初始库文件对应的子库文件,所述从属于各个子库文件对应的功能来源于所述初始库文件,而所述初始库文件的各个功能本身就具有一定的相关性,例如,一个分享功能相关的初始库文件,其中可能包含各个社交平台分享的功能、评论功能、分享截屏功能、摇一摇分享功能……等等,各个功能都有一定的相似或相关性,同时不同的功能之间还可能存在一定的调用关系,如,子库文件1对应的功能的实现需要基于子库文件2对应的功能,当初始库文件拆分成多个子库文件时,虽然各个子库文件保持着相对独立性,但是相互之间的功能相关性信息依然存在。同时,所述候选库文件的来源还包括与源于所述初始库文件的子库文件相匹配的第三方库文件,所述子库文件对应功能的实现也要依赖与所述第三方库文件,所以第三方库文件也与和其匹配的子库文件具一定的功能相关性。所以依据用户的SDK请求信息提供给所述用户的候选库文件并不是随意选择,而是基于用户所需要的应用功能而提供个性化的具有相关功能的库文件。
在另一个优选实施例中,该设备1的所述至少两个候选库文件包括所述初始库文件所对应的核心库文件。
具体地,源于所述初始库文件的候选库文件包括所对应的核心库文件,优选地,所述初始库文件在拆分时会基于相应的功能拆分为不同的子库文件,其中包括核心库文件和其他子库文件,所述核心库文件是能够实现初始库文件基本功能的库文件,并且能够为其他子库文件提供基础服务功能,例如网络服务、数据存储等等,同时,所述核心库文件还要具有良好的功能扩展性,能够接纳其他库文件提供的功能。而其他的子库文件则尽量保证单独实现一个功能,使得可以减小各个子库文件的耦合性,从而保证所述用户所选择的各个候选库文件避免重复功能的出现并带来资源的浪费。所述其他子库文件不一定被所述用户选择使用,同时,所述其他子库文件可以调用其对应的所述核心库文件的基础服务功能。
优选地,根据所述设备1,其中,所述核心库文件包括功能扩展接口,或者所述核心库文件的基础服务的实现未涉及第三方源码。
具体地,一方面,作为提供基础功能的所述核心库文件应该具有较好的功能扩展性,才能基于原有的基础功能不断接纳其他新的扩展功能,将具有一定相关性的功能连接在一起,使得所述用户在调用核心库文件时能够同时选择调用其他相关功能。在此,优选地,在核心库文件中提供相应的扩展功能接口,从而动态库文件可以调用扩展功能的接口,所述用户可以很方便地实现其他的扩展功能。例如,一个所述核心库文件能够实现新浪微博等基础平台的分享、授权等功能,此时若是还想将分享、授权操作扩展到其他的平台,如微信、人人网等,则可以通过所述核心库文件上的扩展功能接口将所述其他的平台对应的其他子库文件与所述库文件连接。这样所述核心库文件和所述其他子库文件被选中后,所述其他子库文件就可以在具体操作中使用所述核心库文件提供的基础服务功能。另一方面,核心库文件在提供核心服务的同时,也要能够尽量精简,从而限制核心库文件的大小,在此,优选地,在实现所述核心库文件的基础服务时尽量不涉及第三方提供的源码,而是通过自身实现基础服务功能,比如网络服务、数据存储、分享统计服务等。因为第三方提供的相应基础服务的源码并不 是针对某一个核心库文件而开发的,而是会包含对应各种应用场景的不同情况的不同处理的源码。因此,对于一个特定的核心库文件来说,所述第三方提供的源码过于冗长、存在不需要的浪费。而若所述核心库文件根据自己的需要自行实现相应的基础服务功能,就更加具有针对性,只会实现需要的情况,而不必考虑不需要的情况,所以可以减小代码数量,减小核心库文件大小,带来优化效果。
优选地,根据所述设备1,其中,所述第二装置102用于:若所述目标库文件所属的初始库文件所对应的核心库文件未被选中,根据所述多个目标库文件,以及该未被选中的核心库文件,生成对应的SDK文件。
具体地,基于用户所提交的SDK请求信息,所述设备1在网页端为所述用户提供了相应的候选库文件,所述候选库文件包括与源于所述初始库文件的子库文件,其中所述子库文件包括所述核心库文件和所述其他子库文件,所述用户在确定目标库文件时所选择的候选库文件一般会包括所述初始库文件对应的核心库文件和相应的一个或多个其他子库文件,但是也可能会出现所述用户只选择与所述初始库文件对应的若干个其他子库文件,而并不选择所述核心库文件的情况。此时,由于所述核心库文件包含了所述初始库文件的核心功能,同时还包含了为对应的其他子库文件所提供的基础服务功能,如网络服务、数据存储、分享统计服务等,若是不选择所述核心库文件,所选择的其他子库文件的功能也无法顺利实现,所以在此,优选地,若所述目标库文件所属的初始库文件所对应的核心库文件未被选中,则所述未被选中的核心库文件将会被自动设定为候选库文件,加入到所生成的SDK文件中提供给所述用户。
图2示出根据本申请另一个方面的一种用于提供SDK文件的方法流程图。
其中,在步骤S201中,所述设备1将多个候选库文件提供至用户,其中,至少两个所述候选库文件源于同一初始库文件;在步骤S202中,所述设备1根据所述用户在所述多个候选库文件中选择的多个目标库文件生成对应的SDK文件;在步骤S203中,所述设备1将所述SDK文件提供给对应的目标应用。
具体地,在步骤S201中,该设备1将多个候选库文件提供至用户,其中,至少两个所述候选库文件源于同一初始库文件。在此,所述的库文件是指将SDK源代码编译成一个库,该库文件中包含了所述源代码的对象文件,当用户的应用工程加载了所述库文件,就可以在自己的应用工程中使用所述SDK提供的功能。当用户需要实现某功能,需要获得相应的SDK文件,所述SDK文件中包含着对应的库文件。此时,提供SDK文件的设备1为用户提供了多个候选库文件,所述候选库文件包括初始库文件中的多个子库文件,也包括与所述子库文件相匹配的第三方库文件。其中,所述初始库文件可以是将多个功能编译链接形成的一个整体的SDK库文件,此时所述多个子库文件就是对所述初始库文件依照不同的功能进行拆分后所得到的多个库文件,该拆分所得到的多个子库文件分别对应于一个或多个功能,而这些功能原本都包含在一个初始库文件之下;所述初始库文件还包含一些针对不同功能、独立设计出的、划归于同一初始库文件之下的多个库文件,所述多个库文件原本就独立存在,而不是从一个SDK库文件中拆分而来的,它们同样被提供给用户作为候选库文件,例如库文件1和库文件2是分别针对两个具体功能的库文件,它们最初都是独立设计得到的,若将所述库文件1和库文件2基于一定的功能相关性划归到一个初始库文件之下,则这两个库文件就成为所述初始库文件的子库文件。在此,至少有两个所述候选库文件源于同一初始库文件,例如,有两个库文件都是由同一个初始库文件拆分得到的,或者这两个库文件基于功能的相关性都来自于同一个初始库文件,基于所述用户的请求,所述两个库文件基于一定的功能选择都会被提供给所述用户。
例如,一款移动应用的开发者,希望将自己的移动应用的相关内容分享到各个社交平台,例如新浪微博、微信、QQ空间、人人网等,此时,所述开发者希望获得实现分享到相应社交平台这一功能的SDK文件,首先,该设备1在网页端为开发者提供了多个候选库文件,所述候选库文件包括初始库文件的子库文件,例如,所述初始库文件是一个将所有与所述分享操作相关的功能编译连接成的一个整体的库文件,则所述设备1将其拆分成多个子库文件,每个子库文件都对应于相应的一个或多个原本属于初始 库文件的功能,如子库文件1对应于新浪微博的分享功能,子库文件2对应于QQ空间的分享功能,子库文件3对应于人人网的授权登陆功能,……;所述候选库文件还包括初始库文件的子库文件所对应的第三方库文件,例如所述子库文件1对应于新浪微博的分享功能,则新浪微博应用的库文件也会作为候选库文件,并在网页端提供给所述开发者。在此,提供给开发者的所述多个候选库文件中至少有两个是来源于同一个初始库文件。例如,上述子库文件1、子库文件2、子库文件3、子库文件4……,都是源于同一个所述初始库文件。
接着,在步骤S202中,该设备1根据所述用户在所述多个候选库文件中选择的多个目标库文件生成对应的SDK文件。对于所述设备1所提供的多个候选库文件,每一个候选库文件都分别对应于相应的功能实现,每一个候选库文件都是相对独立的,尽量减小各个候选库文件之间的耦合性,因为各个候选库文件对应的功能相对独立,所以可以避免产生资源的重复浪费。进而,所述用户可以根据自己开发的应用的实际需要选择一定的候选库文件,并不需要全部接受。例如,设备1提供了N个候选库文件,而所述用户需要的功能只对应于其中的K个候选库文件,此时,在剩下的N-K个候选库文件中可能存在a个候选库文件与K个候选库文件中的b个候选库文件都来自于同一个初始库文件,如都是由同一个初始库文件进行拆分得到的若干个子库文件,在此,用户不需要选择一个完整的、庞大的初始库文件,而是可以对这些拆分的库文件分别使用,如选择与初始库文件中部分功能分别对应的所述a个候选库文件,而不用选择其他的b个候选库文件。在此,所述用户所选择的若干个候选库文件即为所述多个目标库文件,也就是所述用户最终要从设备1中获得的相应具体功能所分别对应的库文件。进一步,在用户选定的多个目标库文件的基础上,配合着各个目标库文件所对应的配置文件生成一个对应的SDK文件,并将该SDK文件对应的压缩文件在网页端发布。在此,所述配置文件包括与所述目标库文件对应的头文件、文档、Demo文件等。
优选地,在步骤S202中,根据所述用户在所述多个候选库文件中选择的多个目标库文件,通过配置所述目标库文件的路径设置并对所述多个 目标库文件进行压缩处理,生成对应的SDK文件。具体地,所述用户选择的每一个目标库文件、以及相对应的头文件、文档、Demo文件等内容都对应于一定的配置文件信息,所述的配置文件信息定义了所对应的目标库文件、以及相对应的头文件、文档、Demo文件等内容的关键字、描述、标题、文件路径、是否可选等信息。在网页端也会将所述配置文件信息显示的所述内容的相关信息提供给所述用户,当所述用户在网页端选中下载所述目标库文件、以及相对应的头文件、文档、Demo文件等相应内容时,会基于所述各个内容对应的所述文件夹路径把该文件夹下的具体内容共同添加到一个压缩包内,最终生成的SDK文件,提供给所述用户。
接着,在步骤S203中,该设备1将所述SDK文件提供给对应的目标应用。所述用户获取了目标库文件所对应的SDK文件,例如,从网页端将选定的目标库文件所对应的SDK文件的压缩包下载下来,再通过解压缩获得所述SDK文件中对应的目标库文件,再将目标库文件添加到自己正在开发的应用程序工程中进行集成,从而使得所述用户开发的应用在运行时可以调用实现所述目标库文件所对应的相应功能。
在此,用户在开发应用程序的工程中调用目标SDK的操作时,可以根据自己的实际需要在多个候选库文件中自行选择若干个目标库文件,再将用户选择的所述目标库文件结合着相匹配的配置文件生成相应的SDK文件,并提供给用户的目标应用使用。从而,可以减少用户下载的SDK文件的大小,减轻了集成工作量,提高了应用程序开发的速度,控制了应用程序对应的可执行文件的大小,并降低了用户的集成成本。
在一个优选实施例中,所述步骤S201包括步骤S2011(未示出)和步骤S2012(未示出)。
其中,在步骤S2011中,设备1根据用户所提交的SDK请求信息确定对应的多个候选库文件,其中,至少两个所述候选库文件源于与所述SDK请求信息相对应的同一初始库文件;在步骤S2012中,设备1将所述多个候选库文件提供至所述用户。
具体地,该设备1最终提供给用户的SDK文件是基于用户所提交给所述设备1的请求信息而判断的。若基于用户所提交的请求信息,已经存 在相对应的候选库文件可用于选择,则可以直接将所述候选库文件提供给用户,例如,所述设备1中在用户请求之前就已经存在的与所述SDK请求信息对应的初始库文件的多个子库文件,则直接将对应的子库文件提供给所述用户,在此,所述的子库文件可以是预先从所述初始库文件中拆分得到的多个库文件,也可以是本身就是独立设计出的划归于统一初始库文件之下的多个库文件。若是基于用户所提交的SDK请求信息,可以判断所述请求信息对应的相应功能包含在一个初始库文件所涵盖的多个功能中,同时,所述初始库文件还没有对应的拆分好的子库文件,此时,设备1并不会将这个庞大且包含着多个所述用户并不需要的功能的初始库文件直接提供给所述用户,而是基于所述用户的所述SDK请求信息,即时将所述初始库文件拆分成多个子库文件,再将相应的所述子库文件作为候选库文件提供给所述用户选择。
优选地,在步骤S2011中,所述设备1根据用户所提交的SDK请求信息确定对应的初始库文件;根据所述初始库文件确定对应的多个候选库文件,其中,至少两个所述候选库文件均源于所述初始库文件。
具体地,根据所述的SDK请求信息所确定的相应功能,可以确定所述功能原始存在的初始库文件,进而基于所述初始库文件确定其对应的子库文件,所述初始库文件至少包括两个对应的子库文件,子库文件所对应的应用功能是从所述初始库文件中划分出来的,例如,初始库文件对应于功能A、B、C,若所述初始库文件有子库文件1和子库文件2,子库文件1包含功能A,子库文件2包含功能B和C。在此,所述子库文件1和2就可以作为所述SDK请求信息所对应的候选库文件,因为初始库文件将功能细化后生成的子库文件不会少于2个,所以将所述初始库文件对应的子库文件作为多个候选库文件的一部分时,就使得整体上所述候选库文件中至少会有两个候选库文件源于同一个所述初始库文件。在此,所述初始库文件可以是将多个功能编译链接形成的一个SDK库文件,也可以是多个独立设计的库文件的所对应功能的集合对应的库文件。
优选地,该设备1中所述多个候选库文件还包括与源于所述初始库文件的子库文件相匹配的第三方库文件。根据用户所提交的SDK请求信息 确定对应的多个候选库文件时,首先会选择与所述SDK请求信息对应的初始库文件的对应的子库文件,每一个所述子库文件都对应于一个或若干个功能,所述的功能可能会对应于相应的第三方库文件,此时,所述设备1就会将所述第三方库文件也作为候选库文件提供给所述用户来选择。例如,开发者希望将自己开发的应用分享到微信平台,对应于微信平台分享这一功能除了需要分享到微信平台这一操作的库文件,还需要有分享平台,即微信平台对应的微信库文件,此时,所述设备1就会将微信库文件也作为候选库文件提供给所述用户。在此,优选地,所述的第三方库文件和与其对应的所述源于所述初始库文件的子库文件要相分离,进而,当第三方库文件升级更新时,所述用户就可以方便的替换到所升级更新的第三方库文件。例如,开发者希望将自己的应用分享到微信,从而把调用微信的功能作为子库文件libSocialWechat.a,此时,微信的官方库文件是libWeChatSDK.a,两者是相分离的,所以所述开发者可以方便替换新版的微信SDK库文件。
此外,并不是所有的功能都一定会有相对应的第三方库文件,例如,当开发者希望自己开发的应用具有摇一摇功能时,因为此功能不需要第三方的支持,所以没有对应的第三方库文件,进而所述设备1只需要将摇一摇操作所对应的库文件作为候选库文件,而不需要匹配第三方库文件。
优选地,在步骤S2012中,所述设备1根据所述候选库文件间的功能相关性信息将所述多个候选库文件提供至所述用户。
具体地,基于所述用户所提交的SDK请求信息,提供给所述用户的候选库文件之间具有一定的功能相关性,所述候选库文件的来源包括与所述初始库文件对应的子库文件,所述从属于各个子库文件对应的功能来源于所述初始库文件,而所述初始库文件的各个功能本身就具有一定的相关性,例如,一个分享功能相关的初始库文件,其中可能包含各个社交平台分享的功能、评论功能、分享截屏功能、摇一摇分享功能……等等,各个功能都有一定的相似或相关性,同时不同的功能之间还可能存在一定的调用关系,如,子库文件1对应的功能的实现需要基于子库文件2对应的功能,当初始库文件拆分成多个子库文件时,虽然各个子库文件保持着相对 独立性,但是相互之间的功能相关性信息依然存在。同时,所述候选库文件的来源还包括与源于所述初始库文件的子库文件相匹配的第三方库文件,所述子库文件对应功能的实现也要依赖与所述第三方库文件,所以第三方库文件也与和其匹配的子库文件具一定的功能相关性。所以依据用户的SDK请求信息提供给所述用户的候选库文件并不是随意选择,而是基于用户所需要的应用功能而提供个性化的具有相关功能的库文件。
在另一个优选实施例中,该设备1的所述至少两个候选库文件包括所述初始库文件所对应的核心库文件。
具体地,源于所述初始库文件的候选库文件包括所对应的核心库文件,优选地,所述初始库文件在拆分时会基于相应的功能拆分为不同的子库文件,其中包括核心库文件和其他子库文件,所述核心库文件是能够实现初始库文件基本功能的库文件,并且能够为其他子库文件提供基础服务功能,例如网络服务、数据存储等等,同时,所述核心库文件还要具有良好的功能扩展性,能够接纳其他库文件提供的功能。而其他的子库文件则尽量保证单独实现一个功能,使得可以减小各个子库文件的耦合性,从而保证所述用户所选择的各个候选库文件避免重复功能的出现并带来资源的浪费。所述其他子库文件不一定被所述用户选择使用,同时,所述其他子库文件可以调用其对应的所述核心库文件的基础服务功能。
优选地,根据所述设备1,其中,所述核心库文件包括功能扩展接口,或者所述核心库文件的基础服务的实现未涉及第三方源码。
具体地,一方面,作为提供基础功能的所述核心库文件应该具有较好的功能扩展性,才能基于原有的基础功能不断接纳其他新的扩展功能,将具有一定相关性的功能连接在一起,使得所述用户在调用核心库文件时能够同时选择调用其他相关功能。在此,优选地,在核心库文件中提供相应的扩展功能接口,从而动态库文件可以调用扩展功能的接口,所述用户可以很方便地实现其他的扩展功能。例如,一个所述核心库文件能够实现新浪微博等基础平台的分享、授权等功能,此时若是还想将分享、授权操作扩展到其他的平台,如微信、人人网等,则可以通过所述核心库文件上的扩展功能接口将所述其他的平台对应的其他子库文件与所述库文件连接。 这样所述核心库文件和所述其他子库文件被选中后,所述其他子库文件就可以在具体操作中使用所述核心库文件提供的基础服务功能。另一方面,核心库文件在提供核心服务的同时,也要能够尽量精简,从而限制核心库文件的大小,在此,优选地,在实现所述核心库文件的基础服务时尽量不涉及第三方提供的源码,而是通过自身实现基础服务功能,比如网络服务、数据存储、分享统计服务等。因为第三方提供的相应基础服务的源码并不是针对某一个核心库文件而开发的,而是会包含对应各种应用场景的不同情况的不同处理的源码。因此,对于一个特定的核心库文件来说,所述第三方提供的源码过于冗长、存在不需要的浪费。而若所述核心库文件根据自己的需要自行实现相应的基础服务功能,就更加具有针对性,只会实现需要的情况,而不必考虑不需要的情况,所以可以减小代码数量,减小核心库文件大小,带来优化效果。
优选地,在步骤S202中,所述设备1用于:若所述目标库文件所属的初始库文件所对应的核心库文件未被选中,根据所述多个目标库文件,以及该未被选中的核心库文件,生成对应的SDK文件。
具体地,基于用户所提交的SDK请求信息,所述设备1在网页端为所述用户提供了相应的候选库文件,所述候选库文件包括与源于所述初始库文件的子库文件,其中所述子库文件包括所述核心库文件和所述其他子库文件,所述用户在确定目标库文件时所选择的候选库文件一般会包括所述初始库文件对应的核心库文件和相应的一个或多个其他子库文件,但是也可能会出现所述用户只选择与所述初始库文件对应的若干个其他子库文件,而并不选择所述核心库文件的情况。此时,由于所述核心库文件包含了所述初始库文件的核心功能,同时还包含了为对应的其他子库文件所提供的基础服务功能,如网络服务、数据存储、分享统计服务等,若是不选择所述核心库文件,所选择的其他子库文件的功能也无法顺利实现,所以在此,优选地,若所述目标库文件所属的初始库文件所对应的核心库文件未被选中,则所述未被选中的核心库文件将会被自动设定为候选库文件,加入到所生成的SDK文件中提供给所述用户。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细 节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

Claims (18)

  1. 一种用于提供SDK文件的方法,其中,所述方法包括:
    将多个候选库文件提供至用户,其中,至少两个所述候选库文件源于同一初始库文件;
    根据所述用户在所述多个候选库文件中选择的多个目标库文件生成对应的SDK文件;
    将所述SDK文件提供给对应的目标应用。
  2. 根据权利要求1所述的方法,其中,所述将多个候选库文件提供至用户,其中,至少两个所述候选库文件源于同一初始库文件包括:
    根据用户所提交的SDK请求信息确定对应的多个候选库文件,其中,至少两个所述候选库文件源于与所述SDK请求信息相对应的同一初始库文件;
    将所述多个候选库文件提供至所述用户。
  3. 根据权利要求2所述的方法,其中,所述根据用户所提交的SDK请求信息确定对应的多个候选库文件,其中,至少两个所述候选库文件源于与所述SDK请求信息相对应的同一初始库文件包括:
    根据用户所提交的SDK请求信息确定对应的初始库文件;
    根据所述初始库文件确定对应的多个候选库文件,其中,至少两个所述候选库文件均源于所述初始库文件。
  4. 根据权利要求2或3所述的方法,其中,所述多个候选库文件还包括与源于所述初始库文件的子库文件相匹配的第三方库文件。
  5. 根据权利要求2至4中任一项所述的方法,其中,所述将所述多个候选库文件提供至所述用户还包括:
    根据所述候选库文件间的功能相关性信息将所述多个候选库文件提供至所述用户。
  6. 根据权利要求1至5中任一项所述的方法,其中,所述至少两个候选库文件包括所述初始库文件所对应的核心库文件。
  7. 根据权利要求6所述的方法,其中,所述核心库文件包括功能扩展 接口,或者所述核心库文件的基础服务的实现未涉及第三方源码。
  8. 根据权利要求6或7所述的方法,其中,所述根据所述用户在所述多个候选库文件中选择的多个目标库文件生成对应的SDK文件包括:
    若所述目标库文件所属的初始库文件所对应的核心库文件未被选中,根据所述多个目标库文件,以及所述未被选中的核心库文件,生成对应的SDK文件。
  9. 根据权利要求1至8中任一项所述的方法,其中,所述根据所述用户在所述多个候选库文件中选择的多个目标库文件生成对应的SDK文件包括:
    根据所述用户在所述多个候选库文件中选择的多个目标库文件,通过配置所述目标库文件的路径设置并对所述多个目标库文件进行压缩处理,生成对应的SDK文件。
  10. 一种用于提供SDK文件的设备,其中,所述设备包括:
    第一装置,用于将多个候选库文件提供至用户,其中,至少两个所述候选库文件源于同一初始库文件;
    第二装置,用于根据所述用户在所述多个候选库文件中选择的多个目标库文件生成对应的SDK文件;
    第三装置,用于将所述SDK文件提供给对应的目标应用。
  11. 根据权利要求10所述的设备,其中,所述第一装置包括:
    第一单元,用于根据用户所提交的SDK请求信息确定对应的多个候选库文件,其中,至少两个所述候选库文件源于与所述SDK请求信息相对应的同一初始库文件;
    第二单元,用于将所述多个候选库文件提供至所述用户。
  12. 根据权利要求11所述的设备,其中,所述第一单元用于:
    根据用户所提交的SDK请求信息确定对应的初始库文件;
    根据所述初始库文件确定对应的多个候选库文件,其中,至少两个所述候选库文件均源于所述初始库文件。
  13. 根据权利要求11或12所述的设备,其中,所述多个候选库文件还包括与源于所述初始库文件的子库文件相匹配的第三方库文件。
  14. 根据权利要求11至13中任一项所述的设备,其中,所述第二单元还用于:
    根据所述候选库文件间的功能相关性信息将所述多个候选库文件提供至所述用户。
  15. 根据权利要求10至14中任一项所述的设备,其中,所述至少两个候选库文件包括所述初始库文件所对应的核心库文件。
  16. 根据权利要求15所述的设备,其中,所述核心库文件包括功能扩展接口,或者所述核心库文件的基础服务的实现未涉及第三方源码。
  17. 根据权利要求15或16所述的设备,其中,所述第二装置用于:
    若所述目标库文件所属的初始库文件所对应的核心库文件未被选中,根据所述多个目标库文件,以及所述未被选中的核心库文件,生成对应的SDK文件。
  18. 根据权利要求10至17中任一项所述的设备,其中,所述第二装置用于:
    根据所述用户在所述多个候选库文件中选择的多个目标库文件,通过配置所述目标库文件的路径设置并对所述多个目标库文件进行压缩处理,生成对应的SDK文件。
PCT/CN2015/091249 2014-10-17 2015-09-30 一种用于提供sdk文件的方法与设备 WO2016058488A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410553844.9 2014-10-17
CN201410553844.9A CN105573734B (zh) 2014-10-17 2014-10-17 一种用于提供sdk文件的方法与设备

Publications (1)

Publication Number Publication Date
WO2016058488A1 true WO2016058488A1 (zh) 2016-04-21

Family

ID=55746122

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/091249 WO2016058488A1 (zh) 2014-10-17 2015-09-30 一种用于提供sdk文件的方法与设备

Country Status (2)

Country Link
CN (1) CN105573734B (zh)
WO (1) WO2016058488A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109840109A (zh) * 2019-02-02 2019-06-04 北京字节跳动网络技术有限公司 用于生成软件开发工具包的方法和装置

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106775720B (zh) * 2016-12-16 2020-08-07 北京小度互娱科技有限公司 集成播放器sdk的方法和装置及设置播放器sdk的方法和装置
CN106843857B (zh) * 2016-12-30 2021-02-02 北京五八信息技术有限公司 基于srp实现代码库转换sdk的方法和装置
CN108471376B (zh) * 2017-02-23 2020-11-10 腾讯科技(深圳)有限公司 数据处理方法、装置及系统
CN107092517B (zh) * 2017-03-30 2020-09-11 北京深思数盾科技股份有限公司 一种sdk工具包的生成方法及装置
CN112416310A (zh) * 2019-08-22 2021-02-26 杭州萤石软件有限公司 一种扩充的面向对象软件开发工具包的功能扩展方法
CN110674474B (zh) * 2019-09-19 2021-07-20 大唐高鸿信安(浙江)信息科技有限公司 一种应用程序的运行控制方法及装置
CN113392388B (zh) * 2021-05-19 2023-05-09 杭州宇泛智能科技有限公司 终端、云端校验自主定制服务的方法及系统
CN117033287B (zh) * 2023-10-08 2024-02-13 易方信息科技股份有限公司 基于sdk包的多总线通信方法、系统、设备以及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101334729A (zh) * 2008-08-07 2008-12-31 金蝶软件(中国)有限公司 软件包的处理方法及装置
CN102087599A (zh) * 2011-02-24 2011-06-08 北京中电普华信息技术有限公司 一种基于J2EE的Web应用系统开发方法及装置
CN103617394A (zh) * 2013-12-04 2014-03-05 北京网秦天下科技有限公司 Sdk提供和调用方法及相关设备
US20140280484A1 (en) * 2013-03-15 2014-09-18 Oliver Klemenz Dynamic Service Extension Infrastructure For Cloud Platforms

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050097133A1 (en) * 2003-10-31 2005-05-05 Quoc Pham Producing software distribution kit (SDK) volumes
CN101620531A (zh) * 2008-07-02 2010-01-06 英业达股份有限公司 应用程序图形用户界面客制化方法与计算机可读取储存媒体
CN102163068A (zh) * 2011-03-23 2011-08-24 山东大学 一种基于WindowsCE的手持终端
CN103440166A (zh) * 2013-08-30 2013-12-11 西安电子科技大学 一种从远程组件仓库按需下载的软件现场组装系统
CN103955375A (zh) * 2014-05-21 2014-07-30 北京安兔兔科技有限公司 一种应用安装文件的生成方法、应用的启动方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101334729A (zh) * 2008-08-07 2008-12-31 金蝶软件(中国)有限公司 软件包的处理方法及装置
CN102087599A (zh) * 2011-02-24 2011-06-08 北京中电普华信息技术有限公司 一种基于J2EE的Web应用系统开发方法及装置
US20140280484A1 (en) * 2013-03-15 2014-09-18 Oliver Klemenz Dynamic Service Extension Infrastructure For Cloud Platforms
CN103617394A (zh) * 2013-12-04 2014-03-05 北京网秦天下科技有限公司 Sdk提供和调用方法及相关设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109840109A (zh) * 2019-02-02 2019-06-04 北京字节跳动网络技术有限公司 用于生成软件开发工具包的方法和装置
CN109840109B (zh) * 2019-02-02 2022-04-19 北京字节跳动网络技术有限公司 用于生成软件开发工具包的方法和装置

Also Published As

Publication number Publication date
CN105573734A (zh) 2016-05-11
CN105573734B (zh) 2019-12-17

Similar Documents

Publication Publication Date Title
WO2016058488A1 (zh) 一种用于提供sdk文件的方法与设备
US10601900B2 (en) Supporting distributed ledgers in a micro-services environment
US11429399B2 (en) Configuration container for container orchestration platform
US20150125133A1 (en) Method for transcoding multimedia, and hadoop-based multimedia transcoding system for performing the method
US10983816B2 (en) Self-adaptive building container images
CN111223036B (zh) 一种gpu虚拟化共享方法、装置及电子设备和存储介质
CN110391938B (zh) 用于部署服务的方法和装置
US11474842B2 (en) Integration application creator design
US20140282630A1 (en) Backend custom code extensibility
US9207913B2 (en) API publication on a gateway using a developer portal
CN110895471A (zh) 安装包生成方法、装置、介质及电子设备
CN111478956A (zh) 小程序包的部署、预览方法和装置
WO2019029451A1 (zh) 发布移动应用的方法和电子设备
CN111309304B (zh) 一种生成idl文件的方法、装置、介质和电子设备
US20210224055A1 (en) Data interface processing method, device, server and medium
WO2022211851A1 (en) Method and apparatus for cascaded multi-input content preparation templates for 5g networks
US20220229858A1 (en) Multi-cloud object store access
JP7321368B2 (ja) 第3世代パートナーシッププロジェクト(3gpp)ライブアップリンクストリーミングのためのフレームワーク(flus)シンク機能を決定するための方法、コンピュータシステムおよびコンピュータプログラム
CN110502251B (zh) 应用安装方法及装置
CN113536748A (zh) 一种生成图表数据的方法和装置
CN112068814A (zh) 可执行文件的生成方法、装置、系统及介质
US11496537B2 (en) Method and apparatus for reverse address mapping when using content preparation in 5G networks
CN107862038B (zh) 一种解耦web客户端与大数据挖掘分析的数据挖掘平台及实现方法
CN112256326B (zh) 信息的处理方法、装置、设备及存储介质
US20210240715A1 (en) Signaling and resolution model for multi-level session-based description descriptors

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: 15849831

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: 15849831

Country of ref document: EP

Kind code of ref document: A1