Application detection method and device, storage medium and electronic equipment
The SDK of the application is obtained and verified through automated detection tools, and the problems of low detection efficiency and poor accuracy in the prior art are solved, and efficient and accurate application detection is achieved.
Patent Information
- Application Number
- CN202411615739.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-12
- Publication Date
- 2025-03-07
AI Technical Summary
In the prior art, SDK parameters need to be manually detected and checked during application detection, resulting in low accuracy, long time consumption and serious waste of resources. How to improve detection efficiency and accuracy is an urgent problem to be solved.
Provide an application detection method. By starting a preset detection tool, obtaining the initial SDK of the application to be detected, and judging its compatibility with the application. If it is incompatible, determine and access a compatible target SDK to check the application that accesses the target SDK.
Through automated inspection processes, the efficiency and accuracy of application inspection are improved, manual intervention is reduced, detection time is shortened, and resource waste is reduced.
Smart Images

Figure CN119576766A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer technology, and in particular to a method, device, storage medium and electronic device for detecting an application. Background Art
[0002] With the continuous development of application development technology, applications are becoming more and more complex. Take game programs as an example. They are usually composed of multiple modules, including graphics rendering, physics engine, network communication, user interface, etc., and third-party software development kits (SDKs), as an important part of the overall application, can provide different business interfaces to interact with these modules, thereby providing rich business functions for the application.
[0003] In order to ensure the normal operation of the application, it is usually necessary to detect the application connected to the SDK in advance. However, in the current process of detecting the application, developers are usually required to manually detect and check the parameters of the SDK and the application. This method not only has a low accuracy rate, but also takes a long time, resulting in serious waste of resources.
[0004] Therefore, how to improve the efficiency and accuracy of detecting applications is an urgent problem to be solved. Summary of the invention
[0005] This specification provides an application detection method, device, storage medium and electronic device to partially solve the above-mentioned problems existing in the prior art.
[0006] This manual adopts the following technical solutions:
[0007] This specification provides a method for detecting an application program, including:
[0008] In response to the detection request, starting a preset detection tool;
[0009] Based on the detection request, obtaining an initial software development kit SDK previously accessed by the application to be detected;
[0010] Determining whether the initial SDK is compatible with the application;
[0011] If it is determined that the initial SDK is incompatible with the application, then based on the version information of the application, an SDK that is compatible with the application is determined as a target SDK, and the target SDK is connected to the application;
[0012] The application is verified, and after determining that the application passes the verification, the application connected to the target SDK is run through the detection tool, and the application connected to the target SDK is detected.
[0013] Optionally, the step of verifying the application program specifically includes:
[0014] Obtaining configuration information of the application;
[0015] Determining whether the configuration information matches preset configuration information;
[0016] If so, it is determined that the application has passed the verification.
[0017] Optionally, the step of obtaining the configuration information of the application program specifically includes:
[0018] In response to the request for obtaining the configuration information, obtaining the encrypted configuration information;
[0019] Determining whether the configuration information matches the preset configuration information specifically includes:
[0020] Determining a hash value corresponding to the encrypted configuration information, and determining whether the hash value matches a preset hash value;
[0021] If the hash value corresponding to the encrypted configuration information matches the preset hash value, it is determined that the application has passed the verification.
[0022] Optionally, the method further comprises:
[0023] Determine performance data of device performance required to run an application program connected to the target SDK;
[0024] The application is adjusted based on the performance data.
[0025] Optionally, the step of adjusting the application according to the performance data specifically includes:
[0026] Determine, based on the performance data, memory information and computing power information required to run the application program connected to the target SDK;
[0027] Determining, based on the memory information and the computing power information, whether the device performance required to run the application program accessing the target SDK is higher than the average performance of the user device;
[0028] If so, the application is adjusted.
[0029] Optionally, the step of adjusting the application program specifically includes:
[0030] Determine, based on the memory information and the computing power information, deviation information between the performance required to run the application program accessing the target SDK and the average performance of the user device;
[0031] Determining a program adjustment statement for the application program according to the deviation information;
[0032] The program code of the application and the program adjustment statement are input into a preset macro model, so that the program code of the application is adjusted based on the program adjustment statement through the macro model.
[0033] Optionally, detecting an application program connected to the target SDK specifically includes:
[0034] Detecting the application program connected to the target SDK to obtain a detection result for the application program;
[0035] The solution strategy information matching the detection result is searched in the preset information library and displayed.
[0036] This specification provides an application detection device, including:
[0037] A starting module, used to start a preset detection tool in response to a detection request;
[0038] An acquisition module, used for acquiring an initial software development kit SDK previously accessed by the application to be detected based on the detection request;
[0039] A determination module, used to determine whether the initial SDK is compatible with the application;
[0040] an access module, for determining, based on the version information of the application, an SDK that is compatible with the application as a target SDK, and accessing the target SDK to the application if it is determined that the initial SDK is incompatible with the application;
[0041] The detection module is used to verify the application program, and after determining that the application program has passed the verification, run the application program connected to the target SDK through the detection tool, and detect the application program connected to the target SDK.
[0042] This specification provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, the detection method of the above application program is implemented.
[0043] This specification provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the above-mentioned application program detection method when executing the program.
[0044] At least one of the above technical solutions adopted in this specification can achieve the following beneficial effects:
[0045] In the detection method of an application provided in the present specification, a preset detection tool is started in response to a detection request; based on the detection request, an initial software development kit SDK previously connected to the application to be detected is obtained; it is determined whether the initial SDK is compatible with the application; if it is determined that the initial SDK is incompatible with the application, an SDK compatible with the application is determined based on the version information of the application as the target SDK, and the target SDK is connected to the application; the application is verified, and after determining that the application passes the verification, the application connected to the target SDK is run through the detection tool.
[0046] It can be seen from the above method that in the process of detecting the application, this solution detects the compatibility of the initial SDK and the application and verifies the application based on the detection request, and when the SDK is compatible with the application and the application passes the verification, the application connected to the SDK is run through the detection tool to automatically detect it. Compared with the current method of manual inspection of the application by inspectors, this solution improves the detection efficiency and accuracy of the application. BRIEF DESCRIPTION OF THE DRAWINGS
[0047] The drawings described herein are used to provide a further understanding of this specification and constitute a part of this specification. The illustrative embodiments and descriptions of this specification are used to explain this specification and do not constitute an improper limitation on this specification. In the drawings:
[0048] Figure 1 A schematic diagram of a detection method for an application provided in this specification;
[0049] Figure 2 A schematic diagram of a detection process of an application provided in this specification;
[0050] Figure 3 A schematic diagram of a detection device for an application provided in this specification;
[0051] Figure 4 A method corresponding to the Figure 1 Schematic diagram of electronic equipment. DETAILED DESCRIPTION
[0052] In order to make the purpose, technical solutions and advantages of this specification more clear, the technical solutions of this specification will be clearly and completely described below in combination with the specific embodiments of this specification and the corresponding drawings. Obviously, the described embodiments are only part of the embodiments of this specification, not all of them. Based on the embodiments in this specification, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this specification.
[0053] The technical solutions provided by the embodiments of this specification are described in detail below in conjunction with the accompanying drawings.
[0054] Figure 1 The following is a flow chart of a detection method for an application program provided in this specification, comprising the following steps:
[0055] S101: In response to a detection request, starting a preset detection tool;
[0056] S102: Based on the detection request, an initial software development kit SDK previously accessed by the application to be detected is obtained.
[0057] With the diversification of mobile devices and game platforms, game developers need to ensure that their games can run on a variety of devices, including different operating systems (such as iOS, Android), hardware configurations, and network environments. This requires extensive compatibility testing of game programs and their SDKs to ensure that the game can provide a consistent user experience on different devices and environments.
[0058] In addition, game programs may face various security threats, such as data leakage, malware injection, DDoS attacks, etc. SDK is the bridge for the game to interact with the outside world, and its security directly affects the security of the entire game. Therefore, it is an important means to ensure the security of game user data and privacy by conducting security testing on game programs and their SDKs and timely discovering and repairing potential security vulnerabilities.
[0059] In addition, the performance of the game program and its SDK directly affects the user experience. During the testing process, it is necessary to pay attention to key indicators such as the game's startup speed, loading time, frame rate, network latency, etc. By testing and optimizing these indicators, the game's fluency and response speed can be significantly improved, thereby improving the user experience. At the same time, the usability and stability of the SDK are also important factors that affect the user experience, so the SDK needs to be fully functionally tested and performance tested.
[0060] Based on this, this specification provides a method for detecting an application, which first performs a compatibility test on the initial SDK that the application accesses, then verifies the application, and then runs an application that accesses a target SDK that is compatible with the application, and detects the application that accesses the target SDK.
[0061] In this specification, the execution entity used to implement a detection method for an application can be a designated device such as a server. Of course, it can also be a client installed on devices such as laptops and desktop computers. For the sake of ease of description, the following will only take the server as the execution entity as an example to illustrate a detection method for an application provided in this specification.
[0062] The server may start a preset detection tool in response to a detection request from the user, and then may obtain an initial software development kit SDK that the application has previously accessed.
[0063] S103: Determine whether the initial SDK is compatible with the application;
[0064] S104: If it is determined that the initial SDK is incompatible with the application, an SDK compatible with the application is determined based on the version information of the application as a target SDK, and the target SDK is connected to the application.
[0065] The server can use detection tools to determine whether the initial SDK is compatible with the application.
[0066] Specifically, the server may determine whether the configuration parameters of the initial SDK are consistent with the configuration parameters of the SDK specified by the server backend. If they are consistent, it means that the initial software development kit SDK is compatible with the application program, otherwise they are not compatible.
[0067] In actual applications, the configuration information corresponding to the SDK may include server access parameters (such as service entry, access key, etc.), security configuration parameters (such as encryption configuration, security certificate configuration, etc.), network parameter configuration (such as timeout, proxy settings, etc.), local environment configuration parameters (such as log level, cache configuration, etc.) and basic configuration parameters such as SDK version number.
[0068] Among them, the server entry specifies the service address that the SDK needs to access, including the protocol (such as HTTP, HTTPS), domain name and port number. The access key is used for identity authentication when the SDK accesses the backend service; the encryption configuration may include encryption algorithms, encryption keys, etc., which are used to protect the security of sensitive data during transmission; the timeout period is the timeout period when the SDK sends a request to avoid program hangs due to network delays or failures. The proxy setting indicates that if the SDK needs to access the backend service through a proxy server, the address and port of the proxy server need to be configured; the log level indicates the log output level of the SDK, such as DEBUG, INFO, WARN, ERROR, etc., so that developers can obtain necessary log information during debugging and runtime. The cache configuration includes cache size, cache expiration time, etc., which are used to optimize the performance and response speed of the SDK.
[0069] In addition, the above configuration parameters may also include configuration rules such as payment channel information corresponding to the application and a blacklist of third-party applications. The payment channel information corresponding to the application specifies the payment channels through which the application can perform third-party payment services. The blacklist of third-party applications contains information about malicious applications that are prohibited from being called or accessed by the application.
[0070] If it is determined that the initial SDK is incompatible with the application, the server can use the detection tool to obtain an SDK compatible with the application from the database based on the version information of the application as the target SDK, and connect the target SDK to the application. The SDK compatible with the application (target SDK) can be an SDK that matches the configuration rules corresponding to the version of the application. The server's database can store target SDKs corresponding to the version numbers of different applications. When it is determined that the initial SDK is incompatible with the application, the server can query the target SDK from the database based on the version number in the version information of the application.
[0071] S105: Verify the application program, and after determining that the application program passes the verification, run the application program connected to the target SDK through the detection tool, and detect the application program connected to the target SDK.
[0072] The server can then verify the application through a detection tool. During this process, the server can obtain the configuration information of the application, and then determine whether the configuration information matches the preset configuration information. If so, it is determined that the application has passed the verification; otherwise, the application has not passed the verification. At this time, the server can send an error prompt message to the client that the application has not passed the verification, so that the client can display the error prompt message.
[0073] Among them, the configuration information of the application may include: basic configuration (such as application name, version number, operating environment, etc.), database configuration (such as database type, database driver, etc.), network configuration (such as server address, port number, timeout setting, etc.) and security configuration (such as encryption key, authentication method, user permissions), etc. Of course, it can also include other configuration information such as file path (such as storage path and access path, etc.), environment variables, user age limit and sensitive information settings, which are not specifically limited in this manual.
[0074] If the application fails the verification, that is, the configuration information of the application does not match the preset configuration information, the server may adjust the configuration information of the application and reconfigure the application using the adjusted configuration information.
[0075] In the process of verifying the application, in order to avoid the risk of leakage of configuration information, the server can respond to the request for obtaining configuration information and obtain the encrypted configuration information. After the server obtains the encrypted configuration information, it can calculate the hash value corresponding to the encrypted configuration information and determine whether the hash value matches the hash value pre-stored in the server. If the hash value corresponding to the encrypted configuration information matches the hash value pre-stored in the server, it is determined that the application has passed the verification.
[0076] It should be noted that when the executor of the detection method for executing an application is a server, the server can send a request to obtain configuration information to the client. After receiving the request, the client can encrypt the configuration information of the application and send the encrypted configuration information to the server.
[0077] When the execution subject of the detection method for executing the application program is a client, the configuration information can be encrypted by the user, and the encrypted configuration information can be uploaded to the client.
[0078] After determining that the application has passed the verification, the server may further run the application connected to the target SDK through a detection tool, thereby detecting the application connected to the target SDK.
[0079] Specifically, the server can perform functional testing on the application connected to the target SDK to verify whether the various functions of the application are running normally according to the design specifications. The verification content may include user registration and login, navigation and interface elements, data input and output, data storage and retrieval, interactive functions (such as buttons, links, forms, etc.), etc.
[0080] In addition, the server can also perform security tests on applications connected to the target SDK to check whether the application data and user privacy are adequately protected.
[0081] For example, the server can test whether data is properly encrypted during transmission and storage, test the security of the login and authentication process, test whether the application's permission management of user data and functions is effective, and check whether the code has security vulnerabilities such as hard-coded passwords and plain text storage of sensitive information.
[0082] For another example, the server can simulate the attacker's behavior through dynamic analysis and perform offensive testing on the application to discover security vulnerabilities that exist at runtime.
[0083] In addition, the server may also perform performance testing on the application program connected to the target SDK. During this process, the server may determine the performance data required when running the application program connected to the target SDK, and adjust the application program according to the performance data.
[0084] Specifically, the server can determine the memory information (such as the memory of storage devices such as memory and cache) and computing power information (such as the computing power of computing devices such as CPU and GPU) required to run the application connected to the target SDK based on the performance data, and then determine whether the performance required to run the application connected to the target SDK is higher than the average performance of the user device based on the above memory information and computing power information. If so, the application is adjusted; otherwise, the application is not adjusted.
[0085] Furthermore, in the process of adjusting the application, the server can determine the deviation information between the performance required to run the application connected to the target SDK and the average performance of the user device based on the memory information and computing power information required to run the application connected to the target SDK, and then determine the program adjustment statement for the application based on the deviation information.
[0086] The server can input the program code and program adjustment statements of the application into a preset big model, and adjust the program code of the application based on the program adjustment statements through the big model until the performance required to run the adjusted application connected to the target SDK is lower than the average performance of the user device, and then output the program code of the adjusted application to determine the adjusted application.
[0087] Of course, the server may also perform other tests on the application, such as installation / uninstallation test, opening / closing test, and stress test, which are not specifically limited in this specification.
[0088] After determining the detection result for the application, the server can query a preset information library for a solution strategy that matches the detection result based on the error prompt information included in the test result, and display it to the user.
[0089] When the execution subject of the detection method for executing the application program is a server, the server may send the solution strategy to the client, thereby displaying the solution strategy to the user through the client.
[0090] It should be added that, if the initial SDK is compatible with the application, the server can perform the above detection steps on the application connected to the initial SDK after determining that the application has passed the verification. For ease of understanding, this specification provides a schematic diagram of the detection process of the application, such as Figure 2 shown.
[0091] Figure 2 A schematic diagram of a detection process of an application provided in this specification.
[0092] Among them, the server can use the detection tool to detect the configuration information of the initial SDK. If the configuration information is incompatible with the application, the SDK version is updated and connected to the application. After that, the detection tool can verify the configuration information of the application and run the application after the verification, so as to detect the application and generate a detection report.
[0093] In this specification, the above-mentioned detection process of the application can be implemented through a detection tool deployed in the client or server. For example, during the game development process, if the SDK version is found to be incompatible, the detection tool will be updated to the latest version; if the SDK configuration is incorrect, the detection tool will give the correct configuration plan; if the parameter integration is incorrect, the detection tool will provide a corrected parameter setting example.
[0094] From the above methods, it can be seen that this solution improves the efficiency of SDK access. R&D personnel can quickly and accurately locate problems and provide solutions. It improves application quality by analyzing the performance of the application, compiling performance data into reports and optimizing the application. It shortens the R&D cycle: Automated and intelligent access checks reduce the workload of R&D personnel and shorten the time for access and debugging.
[0095] The above is a detection method for one or more implementation applications of this specification. Based on the same idea, this specification also provides a corresponding application detection device, such as Figure 3 shown.
[0096] Figure 3 A schematic diagram of a detection device for an application provided in this specification, comprising:
[0097] A starting module 301 is used to start a preset detection tool in response to a detection request;
[0098] An acquisition module 302 is used to acquire an initial software development kit SDK previously accessed by the application to be detected based on the detection request;
[0099] A determination module 303 is used to determine whether the initial SDK is compatible with the application program;
[0100] The access module 304 is used to determine an SDK compatible with the application as a target SDK based on the version information of the application if it is determined that the initial SDK is incompatible with the application, and access the target SDK to the application;
[0101] The detection module 305 is used to verify the application, and after determining that the application passes the verification, run the application connected to the target SDK through the detection tool, and detect the application connected to the target SDK.
[0102] Optionally, the detection module 305 is specifically used to obtain configuration information of the application; determine whether the configuration information matches preset configuration information; and if so, determine that the application passes the verification.
[0103] Optionally, the acquisition module 302 is specifically configured to, in response to a request for acquiring configuration information, acquire encrypted configuration information;
[0104] The detection module 305 is specifically used to determine the hash value corresponding to the encrypted configuration information and judge whether the hash value matches the preset hash value; if the hash value corresponding to the encrypted configuration information matches the preset hash value, it is determined that the application has passed the verification.
[0105] Optionally, the device further comprises:
[0106] The adjustment module 306 is used to determine the performance data of the device performance required when running the application program connected to the target SDK; and adjust the application program according to the performance data.
[0107] Optionally, the adjustment module 306 is specifically used to determine the memory information and computing power information required to run the application connected to the target SDK based on the performance data; based on the memory information and the computing power information, determine whether the device performance required to run the application connected to the target SDK is higher than the average performance of the user's device; if so, adjust the application.
[0108] Optionally, the adjustment module 306 is specifically used to determine, based on the memory information and the computing power information, deviation information between the performance required to run the application connected to the target SDK and the average performance of the user device; determine a program adjustment statement for the application based on the deviation information; and input the program code of the application and the program adjustment statement into a preset big model so as to adjust the program code of the application based on the program adjustment statement through the big model.
[0109] Optionally, the detection module 305 is specifically used to detect the application connected to the target SDK to obtain the detection result for the application; query the solution strategy information matching the detection result in a preset information library, and display it.
[0110] This specification also provides a computer-readable storage medium, which stores a computer program, which can be used to execute the above Figure 1 A detection method for an application is provided.
[0111] This manual also provides Figure 4 The one shown corresponds to Figure 1 A schematic diagram of the electronic device. Figure 4 As mentioned above, at the hardware level, the electronic device includes a processor, an internal bus, a network interface, a memory, and a non-volatile memory, and may also include other hardware required for the business. The processor reads the corresponding computer program from the non-volatile memory into the memory and then runs it to achieve the above Figure 1 Of course, in addition to the software implementation, this specification does not exclude other implementations, such as logic devices or a combination of software and hardware, etc., that is, the execution subject of the following processing flow is not limited to each logic unit, but can also be hardware or logic devices.
[0112] For the improvement of a technology, it can be clearly distinguished whether it is a hardware improvement (for example, improvement of the circuit structure of diodes, transistors, switches, etc.) or a software improvement (improvement of the method flow). However, with the development of technology, many improvements of the method flow today can be regarded as direct improvements of the hardware circuit structure. Designers almost always obtain the corresponding hardware circuit structure by programming the improved method flow into the hardware circuit. Therefore, it cannot be said that the improvement of a method flow cannot be implemented with a hardware entity module. For example, a programmable logic device (PLD) (such as a field programmable gate array (FPGA)) is such an integrated circuit whose logical function is determined by the user's programming of the device. Designers can "integrate" a digital system on a PLD by programming themselves, without having to ask chip manufacturers to design and make dedicated integrated circuit chips. Moreover, nowadays, instead of manually making integrated circuit chips, this kind of programming is mostly implemented by "logic compiler" software, which is similar to the software compiler used when developing and writing programs, and the original code before compilation must also be written in a specific programming language, which is called hardware description language (HDL). There is not only one HDL, but many kinds, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc. The most commonly used ones are VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should also know that it is only necessary to program the method flow slightly in the above-mentioned hardware description languages and program it into the integrated circuit, and then it is easy to obtain the hardware circuit that implements the logic method flow.
[0113] The controller can be implemented in any appropriate manner, for example, the controller can take the form of a microprocessor or processor and a computer-readable medium storing a computer-readable program code (such as software or firmware) that can be executed by the (micro)processor, a logic gate, a switch, an application-specific integrated circuit (ASIC), a programmable logic controller, and an embedded microcontroller. Examples of controllers include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320. The memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art also know that in addition to implementing the controller in a purely computer-readable program code manner, the controller can be implemented in the form of a logic gate, a switch, an application-specific integrated circuit, a programmable logic controller, and an embedded microcontroller by logically programming the method steps. Therefore, this controller can be considered as a hardware component, and the devices included therein for implementing various functions can also be regarded as structures within the hardware component. Or even, the devices for implementing various functions can be regarded as both software modules for implementing the method and structures within the hardware component.
[0114] The systems, devices, modules or units described in the above embodiments may be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, the computer may be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, 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.
[0115] For the convenience of description, the above device is described in various units according to their functions. Of course, when implementing this specification, the functions of each unit can be implemented in the same or multiple software and / or hardware.
[0116] Those skilled in the art will appreciate that the embodiments of this specification may be provided as methods, systems, or computer program products. Therefore, this specification may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, this specification may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.
[0117] This specification is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of this specification. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0118] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0119] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process in the computer or other programmable device. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0120] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0121] The memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.
[0122] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules 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, magnetic cassettes, magnetic tape disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.
[0123] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.
[0124] Those skilled in the art will appreciate that the embodiments of this specification may be provided as methods, systems or computer program products. Therefore, this specification may take the form of a complete hardware embodiment, a complete software embodiment or an embodiment combining software and hardware. Moreover, this specification may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0125] This specification may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. This specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules may be located in local and remote computer storage media, including storage devices.
[0126] Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
[0127] The above description is only an embodiment of the present specification and is not intended to limit the present specification. For those skilled in the art, the present specification may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present specification shall be included in the scope of the claims of the present specification.
Claims
1. A method for detecting an application, characterized in that: include: In response to the detection request, starting a preset detection tool; Based on the detection request, obtaining an initial software development kit SDK previously accessed by the application to be detected; Determining whether the initial SDK is compatible with the application; If it is determined that the initial SDK is incompatible with the application, then based on the version information of the application, an SDK that is compatible with the application is determined as a target SDK, and the target SDK is connected to the application; The application is verified, and after determining that the application passes the verification, the application connected to the target SDK is run through the detection tool, and the application connected to the target SDK is detected.
2. The method according to claim 1, characterized in that The step of verifying the application program specifically includes: Obtaining configuration information of the application; Determining whether the configuration information matches preset configuration information; If so, it is determined that the application has passed the verification.
3. The method according to claim 2, characterized in that The step of obtaining the configuration information of the application program specifically includes: In response to the request for obtaining the configuration information, obtaining the encrypted configuration information; Determining whether the configuration information matches the preset configuration information specifically includes: Determining a hash value corresponding to the encrypted configuration information, and determining whether the hash value matches a preset hash value; If the hash value corresponding to the encrypted configuration information matches the preset hash value, it is determined that the application has passed the verification.
4. The method according to claim 1, characterized in that The method further comprises: Determine performance data of device performance required to run an application program connected to the target SDK; The application is adjusted based on the performance data.
5. The method according to claim 4, characterized in that The step of adjusting the application according to the performance data specifically includes: Determine, based on the performance data, memory information and computing power information required to run the application program connected to the target SDK; Determining, based on the memory information and the computing power information, whether the device performance required to run the application program accessing the target SDK is higher than the average performance of the user device; If so, the application is adjusted.
6. The method according to claim 5, characterized in that The step of adjusting the application program specifically includes: Determine, based on the memory information and the computing power information, deviation information between the performance required to run the application program accessing the target SDK and the average performance of the user device; Determining a program adjustment statement for the application program according to the deviation information; The program code of the application and the program adjustment statement are input into a preset macro model, so that the program code of the application is adjusted based on the program adjustment statement through the macro model.
7. The method according to claim 1, characterized in that Detect the application program connected to the target SDK, including: Detecting the application program connected to the target SDK to obtain a detection result for the application program; The solution strategy information matching the detection result is searched in the preset information library and displayed.
8. A detection device for an application, characterized in that: include: A starting module, used to start a preset detection tool in response to a detection request; An acquisition module, used for acquiring an initial software development kit SDK previously accessed by the application to be detected based on the detection request; A determination module, used to determine whether the initial SDK is compatible with the application; an access module, for determining, based on the version information of the application, an SDK that is compatible with the application as a target SDK, and accessing the target SDK to the application if it is determined that the initial SDK is incompatible with the application; The detection module is used to verify the application program, and after determining that the application program has passed the verification, run the application program connected to the target SDK through the detection tool, and detect the application program connected to the target SDK.
9. A computer-readable storage medium, characterized in that: The storage medium stores a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 7 is implemented.
10. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the program, the method according to any one of claims 1 to 7 is implemented.