CN110941443B - Method and device for modifying file name in SDK (software development kit) and electronic equipment - Google Patents
Method and device for modifying file name in SDK (software development kit) and electronic equipment Download PDFInfo
- Publication number
- CN110941443B CN110941443B CN201911273604.2A CN201911273604A CN110941443B CN 110941443 B CN110941443 B CN 110941443B CN 201911273604 A CN201911273604 A CN 201911273604A CN 110941443 B CN110941443 B CN 110941443B
- Authority
- CN
- China
- Prior art keywords
- file
- sdk
- file name
- conflict
- resource
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 112
- 230000008569 process Effects 0.000 claims description 58
- 238000004806 packaging method and process Methods 0.000 claims description 11
- 238000013507 mapping Methods 0.000 claims description 8
- 238000012216 screening Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 description 21
- 238000012545 processing Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 238000012986 modification Methods 0.000 description 10
- 230000004048 modification Effects 0.000 description 10
- 230000006872 improvement Effects 0.000 description 9
- 238000003860 storage Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 238000011161 development Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 230000008676 import Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 101000716310 Homo sapiens Protein sidekick-2 Proteins 0.000 description 1
- 101800000618 Protein kinase C delta type catalytic subunit Proteins 0.000 description 1
- 102100021004 Protein sidekick-1 Human genes 0.000 description 1
- 102100021005 Protein sidekick-2 Human genes 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 229920001296 polysiloxane Polymers 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/164—File meta data generation
- G06F16/166—File name conversion
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
The embodiment of the specification discloses a method and a device for modifying a file name in an SDK and electronic equipment. The scheme comprises the following steps: acquiring first file name information; the first file name information is used for representing the file name of a file in a first SDK which needs to be sent to a program access end; acquiring second file name information; the second file name information is used for representing the file name of a file in a second SDK stored by the program access end; determining a conflicting file in the first SDK based on the first file name information and the second file name information; the file name of the conflict file is the same as the file name of the file in the second SDK; and modifying the file name of the conflict file.
Description
Technical Field
The present application relates to the field of computer technologies, and in particular, to a method and an apparatus for modifying a file name in an SDK, and an electronic device.
Background
In the prior art, sometimes a program accessing party may access one Software Development Kit (SDK) of a service outputting party for multiple times, and in addition, the SDK may be continuously optimized for better service, so that the same SDK may have multiple different versions. Therefore, when the service output party outputs each SDK, it is necessary to check whether the service access party has accessed the SDK and determine whether the accessed version is the same as the SDK to be accessed. If the versions are different, the problem of compatibility between different versions needs to be solved.
There is a need to provide faster solutions that are incompatible for versions of the same SDK.
Disclosure of Invention
In view of this, embodiments of the present application provide a method, an apparatus, and an electronic device for modifying a file name in an SDK, so as to improve processing efficiency of program access.
In order to solve the above technical problem, the embodiments of the present specification are implemented as follows:
the method for modifying the file name in the SDK provided by the embodiment of the present specification includes:
acquiring first file name information; the first file name information is used for representing the file name of a file in a first SDK which needs to be sent to a program access end;
acquiring second file name information; the second file name information is used for representing the file name of a file in a second SDK stored by the program access end;
determining a conflicting file in the first SDK based on the first file name information and the second file name information; the file name of the conflict file is the same as the file name of the file in the second SDK;
and modifying the file name of the conflict file.
The apparatus for modifying a file name in an SDK provided in an embodiment of this specification includes:
the first acquisition module is used for acquiring first file name information; the first file name information is used for representing the file name of a file in a first SDK which needs to be sent to a program access end;
the second acquisition module is used for acquiring second file name information; the second file name information is used for representing the file name of a file in a second SDK stored by the program access terminal;
a conflict file determining module, configured to determine a conflict file in the first SDK based on the first file name information and the second file name information; the file name of the conflict file is the same as the file name of the file in the second SDK;
and the file name modifying module is used for modifying the file name of the conflict file.
An electronic device provided in an embodiment of the present specification includes:
at least one processor; and the number of the first and second groups,
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:
acquiring first file name information; the first file name information is used for representing the file name of a file in a first SDK which needs to be sent to a program access end;
acquiring second file name information; the second file name information is used for representing the file name of a file in a second SDK stored by the program access end;
determining a conflicting file in the first SDK based on the first file name information and the second file name information; the file name of the conflict file is the same as the file name of the file in the second SDK;
and modifying the file name of the conflict file.
Embodiments of the present specification provide a computer readable medium, on which computer readable instructions are stored, the computer readable instructions being executable by a processor to implement the above method for modifying a file name in an SDK.
The embodiment of the specification adopts at least one technical scheme which can achieve the following beneficial effects: before sending the first SDK to the program access end, first obtaining a second SDK stored by the program access end, wherein the packet names of the first SDK frame and the second SDK are the same, and then comparing whether the file names of the files in the first SDK and the second SDK are the same or not. And if the first SDK is the same as the second SDK, modifying the file name of the first SDK, thereby avoiding the problem that the first SDK conflicts with the second SDK when the first SDK is compiled in the program access end. The method can effectively solve the problem that the two SDKs with different versions exist in the same machine and are incompatible in version conflict, and improves the processing efficiency of program access compared with the solution of artificially upgrading the low version of software in the prior art.
Drawings
The accompanying drawings, which are included to provide a further understanding of the application and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the application and together with the description serve to explain the application and not to limit the application. In the drawings:
fig. 1 is a schematic flowchart of a method for modifying a file name in an SDK according to an embodiment of the present disclosure;
FIG. 2 is a schematic structural diagram of an apparatus for modifying a file name in an SDK according to FIG. 1 provided in an embodiment of the present disclosure;
fig. 3 is a schematic structural diagram of an electronic device corresponding to fig. 1 provided in an embodiment of the present disclosure.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more apparent, the technical solutions of the present application will be described in detail and completely with reference to the following specific embodiments of the present application and the accompanying drawings. It should be apparent that the described embodiments are only some of the embodiments of the present application, and not all of the embodiments. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments in the present application without making any creative effort belong to the protection scope of the present application.
When one application APP (program access party) needs to access a certain service (such as a payment code service) of another application (service output party), for example, when a certain shopping APP needs to access a payment code service of a payment platform such as WeChat and Paibao, an SDK of the payment code service provided by the service output party (WeChat and Paibao) needs to be called, and after a developer of the access party decompresses the payment code SDK and learns the logic of the SDK, the function of the SDK can be realized. The service occurs in the development stage of the application, and only if the program access party successfully accesses the service, the application APP corresponding to the program access party can be on-line and used by the registered user of the application APP.
However, in some cases, the development platform of the service output side has a large number of functions, and for the convenience of programming by developers, some frequently used programs for realizing basic functions are packaged to generate the basic SDK. When a developer develops a certain service, the developer only needs to call the basic SDKs to realize a certain function without programming again. Thus, some services include multiple base SDKs invoked in addition to the main program. As it evolves, the underlying SDK process is often upgraded to cope with changes in demand. Therefore, the version of the base SDK output by the service output side is different in different time periods. Therefore, before the service exporter exports a service to the program accessor, it is assumed that the service includes the login SDK, it is assumed that the program accessor has accessed the login SDK, and that the login SDK that the program accessor has accessed is a low version, and the login SDK that the service exporter will export to the program accessor is a high version. If the high version of the login SDK is directly output to the program access side, the problem of incompatibility of different versions occurs during compiling.
In order to solve the problem of incompatibility of different versions, a method of offline communication between developers of a program access party and developers of a service output party can be adopted, and after the low version of the service output party is upgraded to the high version, the service output party outputs the service. In this way, the operation is dependent on-line operation, the process is complicated, and the access efficiency is low.
In order to solve the problem that the SDKs of different versions are incompatible and improve access efficiency, in an embodiment of the present specification, before sending the first SDK to the program access end, first, a second SDK stored by the program access end is obtained, where packet names of the first SDK and the second SDK are the same, and then, whether file names of files in the first SDK and the second SDK are the same is compared. And if the first SDK file is the same as the second SDK file, modifying the file name in the first SDK file so as to avoid the problem that the first SDK conflicts with the second SDK when the first SDK is compiled in the program access end. The method can effectively solve the problem that the two SDKs with different versions exist in the same machine and are incompatible in version conflict, and compared with the method for solving the problem that the low version of the software is artificially updated in the prior art, the method has the advantage that the processing efficiency is improved.
The technical solutions provided by the embodiments of the present application are described in detail below with reference to the accompanying drawings.
Fig. 1 is a flowchart illustrating a method for modifying a file name in an SDK according to an embodiment of the present disclosure. From the program perspective, the execution subject of the flow may be a program installed in the application server or an application client. The main execution body of the scheme is a device of a service output side, and can be a development server or any one development client.
As shown in fig. 1, the process may include the following steps:
step 102: acquiring first file name information; the first file name information is used for representing the file name of the file in the first SDK which needs to be sent to the program access end.
SDKs are generally a collection of development tools used by some software engineers to build application software for a particular software package, software framework, hardware platform, operating system, and the like. Therefore, an SDK with special functions includes many files, and these files may be called modules in development software, such as class libraries in Java.
The Java authority provides developers with a number of powerful classes that are placed separately in packages and published with JDKs, called Java class libraries or Java APIs. An API (Application Programming Interface) is a general concept.
The class library in Java is a module which is developed by a developer and can be called by other developers. Literally, a class library is like a warehouse, where there are many classes that have already been developed. Therefore, these classes are often used when a service is available.
The first file name information is used for representing the file name of the file in the first SDK which needs to be sent to the program access end, and the file name information can be acquired by calling the first SDK or only calling the file related to the file name of the file in the first SDK. Assuming that the first file name information exists in a certain file of the first SDK, it is only necessary to acquire the contents in the certain file.
In this scheme, the first SDK may be sent to the program access terminal separately, or may be sent to the program access terminal together with other SDKs, or may be sent to the program access terminal after being packaged with other SDKs.
It should be noted that "first" in "first file name information" and "first" in "first SDK" are merely used for distinction, and do not have an actual meaning.
Step 104: acquiring second file name information; the second file name information is used for representing the file name of the file in the second SDK stored by the program access end.
After determining that a first SDK needs to be sent to the program access, it is necessary to determine whether the program access has accessed a second SDK having the same packet name as the first SDK. If the program access end has accessed the second SDK, whether the first SDK and the second SDK conflict needs to be judged. The first and second SDKs have the same packet name, which means that the functions implemented by the first and second SDKs are the same or similar.
The second file name information may be obtained by obtaining a second SDK accessed from the program access terminal, and then obtaining second file information from the second SDK; and the second file name information can be acquired from the service output party and the second SDK stored by the service output party only according to the package name and the version number of the second SDK, so that the second SDK at the program access end does not need to be called, and the operation is simplified.
Step 106: determining a conflicting file in the first SDK based on the first file name information and the second file name information; the file name of the conflicting file is the same as the file name of the file in the second SDK.
Because the file name in the first SDK is to be modified to avoid the existence of the same file name as the second SDK, conflicting files in the first SDK need to be determined. Conflicting files may be understood as files that are in a first SDK that are also referred to as conflicting files if their filenames are also present in a second SDK.
The specific screening method may be to compare the file names corresponding to the first file name information with the file names corresponding to the second file name information one by one, and screen out the file names of the files with the same file name. For example, taking the file name in the first file name information as the object of comparison, and for the file name a, if the file name a exists in the second file name information, the file in the first SDK corresponding to the file name a is the conflict file; if the file name A does not exist in the second file name information, the file in the first SDK corresponding to the file name A is not a conflict file.
Step 108: and modifying the file name of the conflict file.
If the conflict file is determined, the file name of the conflict file needs to be modified, so that the modified file name does not exist the same as the file name of the second SDK, and the conflict is avoided.
To distinguish from the files in the second SDK, only the file name in the first SDK needs to be modified. For the modification of the file name, some characters or character strings can be added for distinction. These characters and character strings may be generated randomly or according to some rules. It may be meaningless or may represent a special meaning, and special information may be obtained from the characters and character strings in the file name.
In the method in fig. 1, before sending the first SDK to the program access end, the second SDK stored by the program access end is first obtained, and packet names of the first SDK frame and the second SDK are the same, and then it is compared whether file names of files in the first SDK and the second SDK are the same. And if the first SDK is the same as the second SDK, modifying the file name of the first SDK, thereby avoiding the problem of conflict with the second SDK when the first SDK is compiled in the program access end. The method can effectively solve the problem that the two SDKs with different versions exist in the same machine and are incompatible in version conflict, and improves the processing efficiency of program access compared with the solution of artificially upgrading the low version of software in the prior art.
Based on the method of fig. 1, the embodiments of the present specification also provide some specific implementations of the method, which are described below.
In some specific scenarios, at step 102: before the first file name information is acquired, the method further comprises the following steps:
acquiring first version number information of the first SDK;
determining the second SDK according to the packet name of the first SDK, wherein the packet name of the second SDK is the same as the packet name of the first SDK;
acquiring second version number information of the second SDK;
judging whether the versions of the first SDK and the second SDK are the same or not based on the first version number information and the second version number information to obtain a judgment result;
the acquiring of the first file name information specifically includes:
and when the judgment result shows that the versions of the first SDK and the second SDK are different, acquiring the first file name information.
In this embodiment, the implementation of a certain service often requires that multiple basic SDKs be called, and because the basic SDKs are updated all the time, the output time of each service is different, so that the versions of the selected basic SDKs may be different. Thus, two SDKs that collide are likely to be two different versions of one SDK.
Therefore, after determining the first SDK to be output, it is first necessary to determine whether the program access terminal has accessed the SDK having the same packet name as the first SDK. The method of determination may be provided by the program access terminal actively, or there may be a table at the service output terminal that records the name and version number of the SDK sent to the program access terminal each time. If the program access end does not store the SDK with the same package name as the first SDK, the first SDK is sent to the program access end, and then conflict can not occur during compiling. If it is determined that the program access terminal has stored the second SDK having the same packet name as the first SDK, it is determined whether version numbers of the first SDK and the second SDK are the same. The information of the second version number of the second SDK may be provided by the program access terminal, or may be obtained from a data table stored at the service output terminal.
If the version number of the first SDK is the same as that of the second SDK, the second SDK stored by the program access end is completely the same as the first SDK, and conflict cannot be caused during compiling. If the version number of the first SDK is different from the version number of the second SDK, the files in the first SDK which conflict with the second SDK need to be modified. In order to simplify the operation, only the file name of the file in the second SDK needs to be modified, so that the file with the conflict can be found out only by acquiring the file name information of the first SDK and the second SDK and comparing the file name information with the file name information of the second SDK.
To distinguish from the files in the second SDK, only the file name in the first SDK needs to be modified. For the modification of the file name, some characters or character strings can be added for distinction. Specifically, in order to improve the modification efficiency, the modifying the filename of the conflicting file specifically includes:
and adding specific character strings in the original file names of the conflict files, wherein when the conflict files are multiple, the added specific character strings of the file names of the multiple conflict files are the same.
There are many packages in the Java class library:
beginning with Java is a Java core package, all programs will use the classes in these packages;
beginning with javax is an extension packet, x is the meaning of extension, i.e., an extension. Although java is an optimization and extension to java, java is also part of the core and is also released with JDK, as java is used more and many programs depend on java.
Beginning with org are packages issued by various organizations or organizations, which also issue, along with JDK, some of the commonly used classes they develop, because they are influential and their code quality is high.
Suppose that the file name where the conflict occurs is okio.A, wherein okio is the name of the tool kit (cannot be modified), and A is the name of the class. And modifying the file name of the conflict file, namely setting a class mapping relation, and mapping the okeo.A to the modified file name, such as the okeo.custom.A, wherein the custom is an increased character string.
Assuming that the file name of a conflict file is java.util.date, wherein java.util is the name of the tool kit and Date is the name of the class, the modified file name is java.util.custom.date. Therefore, all conflict files are added into a specific character string, and the modification efficiency is improved.
In order to accurately call a file, after the modifying the file name of the conflicting file, the method further includes:
and modifying the program statement for referencing the conflict file according to the modified file name of the conflict file.
In specific application, modifying the file name is to modify the corresponding relationship between the file name and the file, so that when the file is called, the program statement called by the file in the code is also modified correspondingly. The specific operation is to traverse all class (code) files, replacing class names and import references. import can only import classes contained in a package, but not a package.
For example, the original citation statement is: import java.util.date; importing Date under a java.util packet;
the modified application statement is: import java.util.custom.date; // import custom.date under java.util package.
In some specific scenarios, one service often needs to be completed by multiple base SDKs together, and therefore, a situation that multiple base SDKs all conflict occurs may occur, and therefore, it is necessary to determine whether each base SDK conflicts with an SDK stored at a program access terminal, and then modify files of the conflicting SDKs one by one. And then the plurality of SDKs are respectively sent to the program access ends.
Since the plurality of SDKs are output separately, developers at the program access end need to learn the programming languages and the programming logics of the plurality of SDKs after receiving the plurality of SDKs. This virtually increases the access cost of the access party and reduces the access efficiency. In order to improve access efficiency, in the embodiments of the present specification, after the SDKs are packaged, the SDKs are output, and developers at the program access end only need to learn the packaged SDKs in a unified manner.
In one or more embodiments of the present specification, after the modifying the program statement referring to the conflicting file, the method further includes:
determining a plurality of SDKs which need to be sent to the program access terminal, wherein the plurality of SDKs and the first SDK are used for jointly realizing a first service;
packaging the plurality of SDKs and the modified first SDK to generate a combined SDK;
and sending the combined SDK to the program access end.
In this embodiment, the first SDK and the plurality of SDKs are in a packed form, that is, in a binary form, so that before the plurality of SDKs are merged, each SDK is first decompressed to obtain a class (code) file and a resource file, a property file, and the like, such as an r.java file and a manifest file. The property files and the like are merged first, and then a plurality of class files are merged. And compiling the combined attribute file and class file to generate a combined SDK, and then sending the SDK to a program access end.
In the embodiment of the present specification, the first SDK and the plurality of SDKs may be edited and developed using Java language. Java is a cross-platform, interpreted language, with Java source code compiled into intermediate "bytecodes" stored in a class file. Due to the requirement of cross-platform, java byte codes comprise a lot of source code information, such as variable names and method names, and variables and methods are accessed through the names, and the symbols carry a lot of semantic information and are easily compiled back into Java source codes. To prevent this, java byte codes may be obfuscated using a Java obfuscator.
Obfuscation is to reorganize and process the issued program so that the processed code can perform the same function as the code before processing, but the obfuscated code is difficult to be decompiled, and even if the decompilation is successful, the true semantics of the program can be hardly obtained. The obfuscated program code still conforms to the original file format and instruction set, and the execution result is the same as before obfuscation, except that the obfuscator changes all the variable, function and class names in the code into short English letter codes, and even if the obfuscator is decompiled, the obfuscator cannot read the codes without corresponding function names and program annotations. At the same time, the obfuscation is irreversible, and some information which does not affect the normal operation will be lost permanently in the process of obfuscation, and the loss of the information makes the program more difficult to understand.
The function of the obfuscator is not only to protect the code, but also to reduce the size of the compiled program. Due to the above-mentioned reasons of shortening variable and function names and losing part of information, the volume of the compiled jar file can be reduced by about 25%, which is significant for the current expensive wireless network transmission.
In the embodiment, after the first SDK and the plurality of SDKs are packaged, the SDKs are uniformly mixed, so that the phenomenon that the plurality of SDKs adopt a plurality of mixing rules to mix codes is avoided, and the access efficiency is improved.
However, the problem of resource ID collision of resource files in multiple SDKs needs to be solved during packaging. In order to solve the above problem, the encapsulating the plurality of SDKs and the modified first SDK specifically includes:
acquiring a first resource ID of a resource file in the first SDK;
acquiring second resource IDs of resource files in the plurality of SDKs;
determining a conflicting resource file with the same resource ID based on the first resource ID and the second resource ID;
modifying the resource IDs of the conflicting resource files such that the resource file identified by one of the resource IDs is unique;
modifying a program statement for referencing the conflicted resource file based on the modified resource ID of the conflicted resource file;
and packaging the modified plurality of SDKs and the modified first SDK.
The resource file may be packaged into an APK (res folder) during the compilation process or packaged into a separate resource APK package (e.g., frame-res. But these resource files are given unique IDs, i.e., resource indices, to facilitate system access. Wherein, the R.java file under the gen catalogue is automatically generated by a compiler without being maintained by a developer. Java will automatically receive and record all resource files in the current application, and establish corresponding IDs according to these resource files, including: layout resources, control resources, string resources, drawable resources, and the like. Java can be simply understood as a resource dictionary for current Android applications.
Because each SDK includes one r.java file, the resource ID in the r.java file is automatically generated, and because a plurality of r.java files are included, it can only be guaranteed that there is no resource ID collision in one r.java file. However, there may be a resource ID existing in a plurality of r.java files, that is, one resource ID has corresponding resource files in different SDKs, so that a call conflict occurs when the corresponding resource file is called by the resource ID. Therefore, the resource IDs of the resource files corresponding to the resource IDs need to be modified to avoid the problem of call conflicts.
According to the method of the scheme, if resource ID conflict occurs, the resource files with resource ID conflict in the SDKs need to be determined, and then the resource files are named again. Renaming may set some specific rules, which are not specifically limited herein.
And determining the conflict resource file with the same resource ID. The following method can be adopted: for any resource ID, it can be looked up from r.java files in all SDKs to see that the resource ID appears several times in total. If it occurs only once, it can be stated that the resource ID corresponds to a unique resource file. If the resource ID occurs twice or more, it is indicated that the resource ID occurs in a plurality of r.java files. It is necessary to modify the resource ID of the r.java files in the plurality of SDKs, which is identical to the resource ID.
For example, one resource ID "0x7f030000" corresponds to a plurality of resource files a, b, and c. Wherein a is located in SDK1, b is located in SDK2, and c is located in SDK 3. In order to avoid resource file call collision, only the resource IDs of b and c may be modified, for example, the resource ID of b may be modified to "0x7f030001", and the resource ID of c may be modified to "0x7f030002". Resource files a, b, and c may also be modified, e.g., resource ID of b may be modified to "0x7f030003", resource ID of b may be modified to "0x7f030001", resource ID of c may be modified to "0x7f030002"
In order to accurately call the resource file, the modifying the resource IDs in the plurality of software development kits according to the resource IDs in the compiled file may further include:
replacing the resource IDs in the R.java files in the plurality of SDKs with the modified resource IDs;
and replacing the resource ID in the resource file reference statement in the software development kit with the modified resource ID.
In specific application, the corresponding relation between the resource file and the resource ID is recorded in the R.java file, the resource ID in the R.java file needs to be modified, and the modification of the resource ID in the R.java file is the modification of the corresponding relation between the resource file and the resource ID. Therefore, in order to accurately call the resource file, the program statement for calling the resource file in the code is modified correspondingly.
For example, a resource file is referenced in a java program, and the reference is according to the syntax of java: resource _ type, resource _ name, note: resource _ name does not require a suffix name for the file. If the asset ID of the asset file is modified from "0x7f030000" to "0x7f030001", the reference sentence of the asset file needs to be modified from "r.resource _ type.0x7f030000" to "0x7f030001".
In addition, because a plurality of pairs of first SDKs and a plurality of SDKs are combined, but Android components in different SDKs may run in different processes, when one service is implemented, a plurality of processes are often required to be parallel, thereby wasting system resources. In order to reduce the waste of system resources, the encapsulating the plurality of SDKs and the modified first SDK may further include:
decompressing the modified first SDK to obtain a first manifest file;
decompressing the plurality of SDKs to obtain a plurality of second manifest files;
and modifying the process name in the first manifest file and the process names in the plurality of second manifest files into the same process name.
In the Android system, there are four major components, respectively: there are Activity, service, content ProvIDer, broadcastereiver.
Activities are windows through which the user interacts with the application, an Activity corresponds to an actual web page, when a screen is opened, the previous screen is put into a pause state and pushed into the history stack, and the user can return to the previously opened screen through a rollback operation.
Service is a program that can run for a long time, corresponding to a Service in the background. The Service component is not visible at runtime, but it is responsible for updating the data source and the Activity that is visible, as well as triggering notifications. When your Activity is not already active or visible, they are often used to perform some processing that requires constant running.
The Content ProvIDer is a Content ProvIDer that provides shared data storage. The database can be used for managing and sharing the application program, and the data of the database can be shared by the database to an external call and an interface for data access of a third party application.
Broadcast Receiver: one or more intents are received as trigger time, related messages are received, some simple processing is carried out, the messages are converted into a Notification, and the Android event broadcast model is unified. By creating and registering a Broadcast Receiver, an application can listen for a Broadcast Intent that meets certain conditions. The Broadcast Receiver will automatically launch your Android application to respond to the incoming Intent.
The manifest file in the Android system can be understood as an application manifest, one must be contained in the root directory of each application, and the file names must be identical. The file contains the configuration information of the SDK, and the system needs to run the code of the SDK according to the content in the SDK and display an interface.
The manifest file mainly has the following functions:
1. naming the Java package of the application. The package name serves as a unique identifier for the application. This is the name of our apk, which is usually similar to "com. Android. Gles3jni", similar to the name of a Java class, with the aim of making it a unique value.
2. Various components of the application are described, including Activity, services, broadcast receivers, and content providers that constitute the application. It also names and publishes the functionality of the classes that implement each component, e.g., intent messages they can handle. These statements inform the Android system about the components and the conditions under which they can be started.
3. A process to host an application component is determined.
4. Declaring which rights an application must possess to access protected portions of the API and interact with other applications. But also declares the permissions that other applications need to possess to interact with the application component
5. The Instrumentation classes are listed, which can provide analytics and other information at application runtime. These declarations will only appear in the manifest when the application is in the development phase and will be removed before the application is released.
6. Declaring a minimum Android API level required by an application
7. The libraries to which the application must be linked are listed.
Therefore, to modify the process name, a manifest file for each SDK needs to be obtained. In this embodiment, the SDK to be called exists in a packaged form, so that the SDK needs to be decompressed first to obtain a manifest file. And then modifying the process names in all manifest files into the same process name, and then combining all manifest files. Therefore, when the packed SDK is compiled and run, only one process needs to be established to finish the operation, and a plurality of processes do not need to be established, so that the waste of system resources is reduced.
For the modification of the process name, the original process name can be adopted, and the new process name can also be adopted.
In one or more embodiments of the present specification, modifying the process name in the first manifest file and the process names in the second manifest files to be the same process name may specifically include:
acquiring a plurality of process names in the first manifest file and a plurality of process names in the second manifest file;
determining a main process name, wherein the main process name is one of a plurality of process names in the first manifest file, or the main process name is one of a plurality of process names in the second manifest files;
modifying the plurality of process names in the second manifest file into the main process name;
and modifying the plurality of process names in the plurality of second manifest files into the main process name.
In the foregoing embodiment, a method for modifying a process name in a manifest file is provided, where one of a plurality of process names in a first manifest file or one of a plurality of process names in a plurality of second manifest files may be randomly selected as a main process name. And then modifying the plurality of process names in the first manifest file and the plurality of process names in the plurality of second manifest files into main process names.
It should be noted that there may be multiple process names in a manifest file, because an SDK may include multiple Android components, and different components may run in different processes. Therefore, it is necessary to modify all of the process names in one manifest file.
Based on the same idea, the embodiment of the present specification further provides a device corresponding to the above method. Fig. 2 is a schematic structural diagram of an apparatus for modifying a file name in an SDK, corresponding to fig. 1, according to an embodiment of the present disclosure. As shown in fig. 2, the apparatus may include:
a first obtaining module 201, configured to obtain first file name information; the first file name information is used for representing the file name of a file in a first SDK which needs to be sent to a program access end;
a second obtaining module 202, configured to obtain second filename information; the second file name information is used for representing the file name of a file in a second SDK stored by the program access end;
a conflict file determining module 203, configured to determine a conflict file in the first SDK based on the first file name information and the second file name information; the file name of the conflict file is the same as the file name of the file in the second SDK;
and a file name modifying module 204, configured to modify the file name of the conflicting file.
Before sending the first SDK to the program access end, the apparatus in fig. 2 first obtains the second SDK stored by the program access end, where the package names of the first SDK frame and the second SDK are the same, and then compares whether the file names of the files in the first SDK and the second SDK are the same. And if the first SDK is the same as the second SDK, modifying the file name of the first SDK, thereby avoiding the problem that the first SDK conflicts with the second SDK when the first SDK is compiled in the program access end. The method can effectively solve the problem that the two SDKs with different versions exist in the same machine and are incompatible in version conflict, and improves the processing efficiency of program access compared with the solution of artificially upgrading the low version of software in the prior art.
Optionally, before the obtaining the first file name information, the apparatus may further include:
the first version acquisition module is used for acquiring first version number information of the first SDK;
the second SDK determining module is used for determining the second SDK according to the packet name of the first SDK, and the packet name of the second SDK is the same as the packet name of the first SDK;
a second version obtaining module, configured to obtain second version number information of the second SDK;
the judging module is used for judging whether the versions of the first SDK and the second SDK are the same or not based on the first version number information and the second version number information to obtain a judging result;
the first obtaining module 201 may be specifically configured to: and when the judgment result shows that the versions of the first SDK and the second SDK are different, acquiring the first file name information.
Optionally, the apparatus may further include:
and the reference statement modifying module is used for modifying the program statement for referencing the conflict file according to the modified file name of the conflict file.
Optionally, the file name modification module 204 may be specifically configured to: and adding specific character strings in the original file names of the conflict files, wherein when the conflict files are multiple, the added specific character strings of the file names of the multiple conflict files are the same.
Optionally, the apparatus may further include:
the multiple SDK determining modules are used for determining multiple SDKs which need to be sent to the program access end, and the multiple SDKs and the first SDK are used for jointly realizing a first service;
the packaging module is used for packaging the plurality of SDKs and the modified first SDK to generate a combined SDK;
and the sending module is used for sending the combined SDK to the program access end.
Optionally, the encapsulation module may specifically include:
a first resource ID unit, configured to obtain a first resource ID of a resource file in the first SDK;
a second resource ID unit, configured to obtain a second resource ID of a resource file in the SDKs;
a conflict resource file determination unit, configured to determine, based on the first resource ID and the second resource ID, a conflict resource file with the same resource ID;
a resource ID modifying unit, configured to modify the resource ID of the conflicting resource file, so that a resource file identified by one resource ID is unique;
a reference statement modifying unit, configured to modify a program statement that references the conflicting resource file based on the modified resource ID of the conflicting resource file;
and the packaging unit is used for packaging the plurality of modified SDKs and the first modified SDK.
Optionally, the encapsulation module may further include:
the first decompression unit is used for decompressing the modified first SDK to obtain a first manifest file;
the second decompression unit is used for decompressing the SDKs to obtain a plurality of second manifest files;
and the process name modifying unit is used for modifying the process names in the first manifest file and the process names in the second manifest files into the same process name.
Based on the same idea, the embodiment of the present specification further provides a device corresponding to the method.
Fig. 3 is a schematic structural diagram of an electronic device corresponding to fig. 1 provided in an embodiment of the present disclosure. As shown in fig. 3, the apparatus 300 may include:
at least one processor 310; and the number of the first and second groups,
a memory 330 communicatively coupled to the at least one processor; wherein,
the memory 330 stores instructions 320 executable by the at least one processor 310 to enable the at least one processor 310 to:
acquiring first file name information; the first file name information is used for representing the file name of a file in a first SDK which needs to be sent to a program access end;
acquiring second file name information; the second file name information is used for representing the file name of a file in a second SDK stored by the program access end;
determining a conflicting file in the first SDK based on the first file name information and the second file name information; the file name of the conflict file is the same as the file name of the file in the second SDK;
and modifying the file name of the conflict file.
Before sending the first SDK to the program access end, the electronic device in fig. 3 first obtains the second SDK stored by the program access end, where the package names of the first SDK frame and the second SDK are the same, and then compares whether the file names of the files in the first SDK and the second SDK are the same. And if the first SDK is the same as the second SDK, modifying the file name of the first SDK, thereby avoiding the problem of conflict with the second SDK when the first SDK is compiled in the program access end. The method can effectively solve the problem that the two SDKs with different versions exist in the same machine and are incompatible in version conflict, and improves the processing efficiency of program access compared with the solution of artificially upgrading the low version of software in the prior art.
Embodiments of the present specification also provide a computer readable medium having computer readable instructions stored thereon, the computer readable instructions being executable by a processor to implement the above method for modifying a file name in an SDK.
In the 90 s of the 20 th century, improvements in a technology could clearly distinguish between improvements in hardware (e.g., improvements in circuit structures such as diodes, transistors, switches, etc.) and improvements in software (improvements in process flow). However, as technology advances, many of today's process flow improvements have been seen as direct improvements in hardware circuit architecture. Designers almost always obtain the corresponding hardware circuit structure by programming an improved method flow into the hardware circuit. Thus, it cannot be said that an improvement in the process flow cannot be realized by hardware physical modules. For example, a Programmable Logic Device (PLD), such as a Field Programmable Gate Array (FPGA), is an integrated circuit whose Logic functions are determined by programming the Device by a user. A digital system is "integrated" on a PLD by the designer's own programming without requiring the chip manufacturer to design and fabricate application-specific integrated circuit chips. Furthermore, nowadays, instead of manually manufacturing an Integrated Circuit chip, such Programming is often implemented by "logic compiler" software, which is similar to a software compiler used in program development and writing, but the original code before compiling is also written by a specific Programming Language, which is called Hardware Description Language (HDL), and HDL is not only one but many, such as ABEL (Advanced Boolean Expression Language), AHDL (alternate Hardware Description Language), traffic, CUPL (core universal Programming Language), HDCal, jhddl (Java Hardware Description Language), lava, lola, HDL, PALASM, rhyd (Hardware Description Language), and vhigh-Language (Hardware Description Language), which is currently used in most popular applications. It will also be apparent to those skilled in the art that hardware circuitry that implements the logical method flows can be readily obtained by merely slightly programming the method flows into an integrated circuit using the hardware description languages described above.
The controller may be implemented in any suitable manner, for example, the controller may take the form of, for example, a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro) processor, logic gates, switches, an Application Specific Integrated Circuit (ASIC), a programmable logic controller, and an embedded microcontroller, examples of which include, but are not limited to, the following microcontrollers: ARC 625D, atmel AT91SAM, microchip PIC18F26K20, and Silicone Labs C8051F320, the memory controller may also be implemented as part of the control logic for the memory. Those skilled in the art will also appreciate that, in addition to implementing the controller in purely computer readable program code means, the same functionality can be implemented by logically programming method steps such that the controller is in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers, embedded microcontrollers and the like. Such a controller may thus be regarded as a hardware component and the means for performing the various functions included therein may also be regarded as structures within the hardware component. Or even means for performing the functions may be regarded as being both a software module for performing the method and a structure within a hardware component.
The systems, apparatuses, modules or units described in the above embodiments may be specifically implemented by a computer chip or an entity, or implemented by a product with certain functions. One typical implementation device is a computer. In particular, the computer may be, for example, a personal computer, a laptop computer, a cellular telephone, a camera phone, a smartphone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
For convenience of description, the above devices are described as being divided into various units by function, and are described separately. Of course, the functionality of the various elements may be implemented in the same one or more pieces of software and/or hardware in the practice of the present application.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, 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 disc read only memory (CD-ROM), digital Versatile Disks (DVD) or other optical storage, magnetic cassettes, magnetic tape storage or other magnetic storage devices, or any other non-transmission medium, which can be used to store information and/or data which can be accessed by a computing device. As defined herein, a computer readable medium does not include a transitory computer readable medium such as a modulated data signal and a carrier wave.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrases "comprising a," "8230," "8230," or "comprising" does not exclude the presence of other like elements in a process, method, article, or apparatus comprising the element.
The application may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The application may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
All the embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the system embodiment, since it is substantially similar to the method embodiment, the description is simple, and for the relevant points, reference may be made to the partial description of the method embodiment.
The above description is only an example of the present application and is not intended to limit the present application. Various modifications and changes may occur to those skilled in the art. Any modification, equivalent replacement, improvement or the like made within the spirit and principle of the present application shall be included in the scope of the claims of the present application.
Claims (9)
1. A method of modifying file names in an SDK, comprising:
acquiring first file name information; the first file name information is used for representing the file name of a file in a first SDK which needs to be sent to a program access end;
acquiring second file name information; the second file name information is used for representing the file name of a file in a second SDK stored by the program access end; the first SDK and the second SDK have the same packet name;
determining a conflicting file in the first SDK based on the first file name information and the second file name information; the conflict file is represented by comparing the file name corresponding to the first file name information with the file name corresponding to the second file name information, and screening out the file names of the files with the same file name; the file name of the conflict file is the same as the file name of the file in the second SDK;
modifying the file name of the conflict file specifically comprises the following steps: adding a specific character string in the original file name of the conflict file;
setting a mapping relation, and mapping the original file of the conflict file to the modified file;
the method further comprises the following steps:
determining a plurality of SDKs which need to be sent to the program access terminal, wherein the plurality of SDKs and the first SDK are used for jointly realizing a first service;
packaging the plurality of SDKs and the modified first SDK to generate a combined SDK;
and sending the combined SDK to the program access end.
2. The method of claim 1, further comprising, prior to said obtaining first filename information:
acquiring first version number information of the first SDK;
determining the second SDK according to the packet name of the first SDK, wherein the packet name of the second SDK is the same as the packet name of the first SDK;
acquiring second version number information of the second SDK;
judging whether the versions of the first SDK and the second SDK are the same or not based on the first version number information and the second version number information to obtain a judgment result;
the acquiring of the first file name information specifically includes:
and when the judgment result shows that the versions of the first SDK and the second SDK are different, acquiring the first file name information.
3. The method according to claim 1, wherein the modifying the filename of the conflicting file specifically comprises:
and adding specific character strings in the original file names of the conflict files, wherein when the conflict files are multiple, the added specific character strings of the file names of the multiple conflict files are the same.
4. The method of claim 1, further comprising, after said modifying the filename of the conflicting file:
and modifying the program statement for referencing the conflict file according to the modified file name of the conflict file.
5. The method of claim 1, wherein the encapsulating the plurality of SDKs and the modified first SDK comprises:
acquiring a first resource ID of a resource file in the first SDK;
acquiring second resource IDs of resource files in the plurality of SDKs;
determining a conflicting resource file with the same resource ID based on the first resource ID and the second resource ID;
modifying the resource IDs of the conflicting resource files such that a resource file identified by one of the resource IDs is unique;
modifying a program statement for referencing the conflicted resource file based on the modified resource ID of the conflicted resource file;
and packaging the modified plurality of SDKs and the modified first SDK.
6. The method of claim 5, the encapsulating the plurality of SDKs and the modified first SDK, further comprising:
decompressing the modified first SDK to obtain a first manifest file;
decompressing the plurality of SDKs to obtain a plurality of second manifest files;
and modifying the process name in the first manifest file and the process names in the plurality of second manifest files into the same process name.
7. An apparatus for modifying a file name in an SDK, comprising:
the first acquisition module is used for acquiring first file name information; the first file name information is used for representing the file name of a file in a first SDK which needs to be sent to a program access end;
the second acquisition module is used for acquiring second file name information; the second file name information is used for representing the file name of a file in a second SDK stored by the program access terminal; the first SDK and the second SDK have the same packet name;
a conflict file determining module, configured to determine a conflict file in the first SDK based on the first file name information and the second file name information; the file name of the conflict file is the same as the file name of the file in the second SDK; the conflict file is represented by comparing the file name corresponding to the first file name information with the file name corresponding to the second file name information, and screening out the file names of the files with the same file name;
the file name modifying module is used for modifying the file name of the conflict file; adding a specific character string in the original file name of the conflict file; setting a mapping relation, and mapping the original file of the conflict file to the modified file;
a determining module, configured to determine multiple SDKs that need to be sent to the program access terminal, where the multiple SDKs and the first SDK are used to jointly implement a first service;
the generating module is used for packaging the plurality of SDKs and the modified first SDK to generate a combined SDK;
and the sending module is used for sending the combined SDK to the program access end.
8. An electronic device, comprising:
at least one processor; and the number of the first and second groups,
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:
acquiring first file name information; the first file name information is used for representing the file name of a file in a first SDK which needs to be sent to a program access end;
acquiring second file name information; the second file name information is used for representing the file name of a file in a second SDK stored by the program access terminal; the first SDK and the second SDK have the same packet name;
determining a conflicting file in the first SDK based on the first file name information and the second file name information; the conflict file is represented by comparing the file name corresponding to the first file name information with the file name corresponding to the second file name information, and screening out the file names of the files with the same file name; the file name of the conflict file is the same as the file name of the file in the second SDK;
modifying the file name of the conflict file specifically comprises the following steps:
adding a specific character string in the original file name of the conflict file;
setting a mapping relation, and mapping the original file of the conflict file to the modified file;
determining a plurality of SDKs which need to be sent to the program access terminal, wherein the plurality of SDKs and the first SDK are used for jointly realizing a first service;
packaging the plurality of SDKs and the modified first SDK to generate a combined SDK;
and sending the combined SDK to the program access end.
9. A computer readable medium having stored thereon computer readable instructions executable by a processor to implement the method of modifying filenames in an SDK of any of claims 1 to 6.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911273604.2A CN110941443B (en) | 2019-12-12 | 2019-12-12 | Method and device for modifying file name in SDK (software development kit) and electronic equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911273604.2A CN110941443B (en) | 2019-12-12 | 2019-12-12 | Method and device for modifying file name in SDK (software development kit) and electronic equipment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110941443A CN110941443A (en) | 2020-03-31 |
CN110941443B true CN110941443B (en) | 2023-03-17 |
Family
ID=69910901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911273604.2A Active CN110941443B (en) | 2019-12-12 | 2019-12-12 | Method and device for modifying file name in SDK (software development kit) and electronic equipment |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110941443B (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111552510B (en) * | 2020-04-24 | 2023-05-02 | 北京字节跳动网络技术有限公司 | File construction method and device, electronic equipment and computer readable storage medium |
CN111858500A (en) * | 2020-08-05 | 2020-10-30 | 北京酷豹科技有限公司 | Electronic image naming method, device, equipment and readable storage medium |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4875159A (en) * | 1987-12-22 | 1989-10-17 | Amdahl Corporation | Version management system using plural control fields for synchronizing two versions of files in a multiprocessor system |
US5600834A (en) * | 1993-05-14 | 1997-02-04 | Mitsubishi Electric Information Technology Center America, Inc. | Method and apparatus for reconciling different versions of a file |
US6564369B1 (en) * | 1998-08-20 | 2003-05-13 | Pearson Technical Software, Inc. | Conflict checking using configuration images |
JP2013186779A (en) * | 2012-03-09 | 2013-09-19 | Nec Corp | Information processor and program execution method |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6591418B2 (en) * | 1999-03-26 | 2003-07-08 | Dell U.S.A., L.P. | Factory software management system |
CN105574000B (en) * | 2014-10-08 | 2019-11-05 | 中兴通讯股份有限公司 | Extend the method and device of APK file application |
CN109542445A (en) * | 2017-08-01 | 2019-03-29 | 北京京东尚科信息技术有限公司 | A kind of method and apparatus that Android plug-in unit melts hair |
CN107589947A (en) * | 2017-08-02 | 2018-01-16 | 成都极娱网络科技有限公司 | A kind of SDK cut-in methods, client and system |
CN107844301A (en) * | 2017-12-12 | 2018-03-27 | 苏州蜗牛数字科技股份有限公司 | A kind of Android application channel closes bag method and device |
CN108037927B (en) * | 2017-12-29 | 2020-10-30 | 有米科技股份有限公司 | Development kit packaging method, system, readable storage medium and computer equipment |
CN109683954A (en) * | 2018-12-29 | 2019-04-26 | 北京小米移动软件有限公司 | The library lib integrated approach, device and storage medium |
CN110457045B (en) * | 2019-08-16 | 2023-05-16 | 百度在线网络技术(北京)有限公司 | Component combining and compiling method, device, equipment and storage medium |
-
2019
- 2019-12-12 CN CN201911273604.2A patent/CN110941443B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4875159A (en) * | 1987-12-22 | 1989-10-17 | Amdahl Corporation | Version management system using plural control fields for synchronizing two versions of files in a multiprocessor system |
US5600834A (en) * | 1993-05-14 | 1997-02-04 | Mitsubishi Electric Information Technology Center America, Inc. | Method and apparatus for reconciling different versions of a file |
US6564369B1 (en) * | 1998-08-20 | 2003-05-13 | Pearson Technical Software, Inc. | Conflict checking using configuration images |
JP2013186779A (en) * | 2012-03-09 | 2013-09-19 | Nec Corp | Information processor and program execution method |
Also Published As
Publication number | Publication date |
---|---|
CN110941443A (en) | 2020-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107545030B (en) | Method, device and equipment for processing data blood relationship | |
CN110502222B (en) | AAR method, apparatus, medium, and device for outbound dependency on internal base repository | |
CN107092475B (en) | Calling method and device of interactive control | |
CN111782300B (en) | Data processing method, device, equipment and system | |
CN107038041B (en) | Data processing method, error code dynamic compatibility method, device and system | |
CN107506181A (en) | Business processing, data processing method, device and electronic equipment | |
CN110007920B (en) | Method and device for acquiring code dependency relationship and electronic equipment | |
CN109947643B (en) | A/B test-based experimental scheme configuration method, device and equipment | |
CN111400681B (en) | Data authority processing method, device and equipment | |
CN108829467B (en) | Third-party platform docking implementation method, device, equipment and storage medium | |
CN108595246B (en) | Method, device and equipment for running application | |
CN106775781B (en) | Method and device for reducing application installation packages and electronic equipment | |
CN111090425B (en) | Program packaging method and device and electronic equipment | |
CN108170430B (en) | Interface display method and system | |
CN112817657B (en) | Application program starting item loading method, device, system and storage medium | |
CN111399840A (en) | Module development method and device | |
CN110941443B (en) | Method and device for modifying file name in SDK (software development kit) and electronic equipment | |
CN114547024A (en) | SQL statement risk detection method, device, equipment and medium | |
CN106775916B (en) | Method and device for reducing application installation packages and electronic equipment | |
CN115934093A (en) | Applet cross-terminal application method, related device and computer storage medium | |
CN111045746B (en) | Code expansion method and framework | |
CN110046052A (en) | A kind of service calling method and device | |
CN112905271A (en) | Calling method and device of application program interface API and electronic equipment | |
CN110502251B (en) | Application installation method and device | |
CN106156050A (en) | A kind of data processing method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20230110 Address after: 200120 Floor 15, No. 447, Nanquan North Road, China (Shanghai) Pilot Free Trade Zone, Pudong New Area, Shanghai Applicant after: Alipay.com Co.,Ltd. Address before: 310000 801-11 section B, 8th floor, 556 Xixi Road, Xihu District, Hangzhou City, Zhejiang Province Applicant before: Alipay (Hangzhou) Information Technology Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |