Application running method and device, storage medium and electronic equipment

The method and device address Android application crashes by determining the operating environment and application type, analyzing abnormal causes, and adjusting the application and environment to enhance compatibility and stability in simulator environments.

CN119179597AActive Publication Date: 2024-12-24GUANGZHOU YINGFENG NETWORK TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202411338585.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-24
Publication Date
2024-12-24
Estimated Expiration
2044-09-24

AI Technical Summary

Technical Problem

Android applications often crash or exhibit functional abnormalities when deployed from a simulator to real hardware due to differences in operating environments, particularly with shared object libraries.

Method used

A method and device that determine the current operating environment, application type, and abnormal causes from an intelligent compatibility library, adjusting the application and environment to ensure compatibility and stability, using modules for determination, analysis, and adjustment.

Benefits of technology

Improves compatibility and stability of Android applications in simulator environments by reducing crashes and functional abnormalities through real-time monitoring and intelligent adjustment strategies.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119179597A_ABST
    Figure CN119179597A_ABST
Patent Text Reader

Abstract

The invention discloses an application running method and device, a storage medium and electronic equipment, and the method comprises the steps: in response to a starting operation of a user, determining a current running environment of a to-be-run application, and when the running environment is a target environment, determining an application type of the to-be-run application. And determining an abnormal reason of the historical application corresponding to the historical application type from the intelligent compatible library. And analyzing the to-be-run application according to the abnormal reason, and determining an analysis result corresponding to the shared object library in the to-be-run application. And according to an analysis result, adjusting the to-be-adjusted target, determining a target application based on the adjusted to-be-adjusted target, and running the target application. According to the method, the to-be-operated application is analyzed on the basis of the abnormal reasons of the historical applications of the same application type to determine the analysis result, and the to-be-adjusted target is adjusted on the basis of the analysis result, so that the compatibility and stability of the shared object library in the simulator environment are remarkably improved, and the situations of application crash and function abnormality are reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present specification relates to the field of computer technology, and in particular to a method, device, storage medium and electronic device for running an application. Background Art

[0002] With the continuous development of technology, in order to meet the diverse needs of users, more and more types of Android applications are developed, especially game applications.

[0003] At present, after the development of Android applications is completed, they can be deployed to the simulator and run in the simulator to test or apply the Android applications. However, since the operating environment provided by the simulator may be different from the operating environment provided by the real hardware, the shared object (Shared Object, referred to as so) library in the Android application may be loaded abnormally, causing the Android application to crash or the functions included in the Android application to be abnormal. Therefore, how to run the application in the simulator to avoid application crashes or functional abnormalities is a very important issue.

[0004] Based on this, this specification provides a method for running an application. Summary of the invention

[0005] This specification provides a method, device, storage medium and electronic device for running an application 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 running an application, including:

[0008] In response to a user's startup operation, determining a current running environment of the application to be run;

[0009] When the operating environment is the target environment, determining an application type corresponding to the application to be run;

[0010] Determine the abnormal cause of the historical application corresponding to the application type in history from a pre-set intelligent compatible library;

[0011] Analyze the application to be run according to the abnormal reason, and determine the analysis result corresponding to the shared object library in the application to be run;

[0012] According to the analysis result, adjusting the target to be adjusted; wherein the target to be adjusted is at least one of the application to be run and the running environment;

[0013] Based on the adjusted target to be adjusted, determine the target application and run it.

[0014] Optionally, the target environment is an environment corresponding to the simulator;

[0015] When the operating environment is the target environment, determining the application type corresponding to the application to be run specifically includes:

[0016] Determine the environment parameter corresponding to the operating environment and use it as the first parameter, and determine the parameter of the operating environment corresponding to the preset simulator and use it as the target parameter;

[0017] When the first parameter is consistent with the target parameter, the operating environment is determined to be the target environment, and the application type corresponding to the application to be run is determined.

[0018] Optionally, the intelligent compatible library includes several abnormal reasons of historical applications corresponding to each application type in history, and the abnormal reasons are the abnormal reasons corresponding to the shared object library in the historical applications;

[0019] According to the abnormal reason, the application to be run is analyzed to determine the analysis result corresponding to the shared object library in the application to be run, specifically including:

[0020] Determine the code corresponding to the shared object library in the application to be run;

[0021] For each exception reason, determine whether the code has the exception reason;

[0022] If yes, use the abnormal reason as the analysis result corresponding to the shared object library in the application to be run;

[0023] If not, the abnormal reason is not used as the analysis result corresponding to the shared object library in the application to be executed.

[0024] Optionally, the intelligent compatibility library also includes adjustment strategies corresponding to each abnormal reason;

[0025] According to the analysis results, the target to be adjusted is adjusted, including:

[0026] Determining the abnormal cause included in the analysis result and using it as the target cause;

[0027] Determine the adjustment strategy corresponding to the target cause from among the adjustment strategies included in the intelligent compatible library, and use it as the target strategy;

[0028] According to the target strategy, the target to be adjusted is adjusted.

[0029] Optionally, adjusting the target to be adjusted according to the target strategy specifically includes:

[0030] Generate strategy recommendation information according to the target strategy;

[0031] Displaying the policy recommendation information to the user;

[0032] In response to the user's adjustment operation, an adjusted target to be adjusted is determined.

[0033] Optionally, the method further comprises:

[0034] During the operation of the target application, monitoring the operation status of the target application in real time;

[0035] When the running state of the target application is an abnormal state, determining an abnormal log corresponding to the target application;

[0036] Determine the cause of the exception corresponding to the target application according to the exception log of the target application;

[0037] The intelligent compatibility library is updated according to the determined abnormal cause.

[0038] Optionally, the method further comprises:

[0039] When the abnormal reason of the historical application corresponding to the application type does not exist in the intelligent compatible library, running the application to be run;

[0040] During the running process of the application to be run, real-time monitoring of the running status of the application to be run;

[0041] When the running state of the application to be run is an abnormal state, determining an abnormal log corresponding to the application to be run;

[0042] Determining the abnormal cause of the application to be run according to the abnormal log of the application to be run;

[0043] generating, according to the abnormal reason of the application to be run, an adjustment strategy corresponding to the abnormal reason of the application to be run;

[0044] The abnormal cause of the application to be run and the generated adjustment strategy are stored in the intelligent compatibility library.

[0045] This specification provides a device for running an application, including:

[0046] A first determining module, configured to determine the current operating environment of the application to be run in response to a user's startup operation;

[0047] A second determination module, used for determining the application type corresponding to the application to be run when the running environment is the target environment;

[0048] A third determination module is used to determine the abnormal cause of the historical application corresponding to the application type in history from a preset intelligent compatible library;

[0049] An analysis module, configured to analyze the application to be run according to the abnormal cause, and determine an analysis result corresponding to the shared object library in the application to be run;

[0050] An adjustment module, configured to adjust a target to be adjusted according to the analysis result; wherein the target to be adjusted is at least one of the application to be run and the running environment;

[0051] The running module is used to determine the target application based on the adjusted target to be adjusted, and run it.

[0052] This specification provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, the method for running the above application is implemented.

[0053] 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 running method when executing the program.

[0054] At least one of the above technical solutions adopted in this specification can achieve the following beneficial effects:

[0055] The method for running an application provided in this specification determines the current running environment of the application to be run in response to the user's startup operation, and when the running environment is the target environment, determines the application type corresponding to the application to be run. From a pre-set intelligent compatible library, determine the abnormal cause of the historical application corresponding to the historical application type. According to the abnormal cause, analyze the application to be run, and determine the analysis result corresponding to the shared object library of the application to be run. According to the analysis result, adjust the target to be adjusted, and then determine the target application based on the adjusted target to be adjusted, and run it.

[0056] It can be seen from the above method that when the present application is running, it first responds to the user's startup operation, determines the current operating environment of the application to be run, and when the operating environment is the target environment, determines the application type corresponding to the application to be run. From the pre-set intelligent compatibility library, determine the abnormal cause of the historical application corresponding to the historical application type. According to the abnormal cause, analyze the application to be run, and determine the analysis result corresponding to the shared object library in the application to be run. According to the analysis result, adjust the target to be adjusted, and then determine the target application based on the adjusted target to be adjusted, and run it. Based on the abnormal causes of historical applications of the same application type, analyze the application to be run to determine the analysis result, and adjust the target to be adjusted based on the analysis result, which significantly improves the compatibility and stability of the shared object library in the simulator environment, and reduces the occurrence of crashes and functional abnormalities in the application during operation. BRIEF DESCRIPTION OF THE DRAWINGS

[0057] 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:

[0058] Figure 1 A flowchart of a method for running an application provided in this specification;

[0059] Figure 2 A schematic diagram of a device structure for running an application provided in this specification;

[0060] Figure 3 A method corresponding to the Figure 1 Schematic diagram of the structure of an electronic device. DETAILED DESCRIPTION

[0061] 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.

[0062] At present, the Android system is widely used in various mobile devices due to its openness and flexibility. However, when running in an emulator environment, Android applications often face compatibility and stability issues, especially when it comes to shared object libraries, i.e., so libraries, in Android applications. Since the operating environment provided by the emulator is different from the operating environment provided by the real hardware, for example, the hardware architecture of the emulator and the real hardware are different, the emulator can run based on the x86 central processing unit (CPU) architecture, while the real hardware device can run based on the ARM architecture, the performance of the so library in the Android application on the emulator may be different from that on the real device, causing the Android application to crash or malfunction.

[0063] Based on this, this specification provides a method, device, storage medium and electronic device for running an application. The technical solutions provided by each embodiment of this specification are described in detail below in conjunction with the accompanying drawings.

[0064] Figure 1 A flowchart of a method for running an application provided in this specification includes the following steps:

[0065] S100: In response to a user's startup operation, determining a current running environment of the application to be run.

[0066] In this specification, the device used to run the application can determine the current operating environment of the application to be run in response to the user's startup operation. Among them, the device used to run the application can be an application, a system or a server. The application or system can be pre-deployed in the application to be run, or it can be a third-party application or system, or it can be an electronic device such as a desktop computer or a laptop computer. For the convenience of description, the following only takes the server as the execution subject to explain the method of running the application provided in this specification. The user can be the developer of the application to be run.

[0067] In this specification, the above-mentioned application to be run may be an Android application (Application), and the application to be run may be an application pre-written and compiled by the user. The application to be run may be an application with any function or purpose. Specifically, the application to be run is a game application as an example. It should be noted that the application to be run has been installed or deployed to the target device, and the target device may be a simulator or real hardware, such as a mobile phone. Therefore, the current operating environment of the above-mentioned application to be run is the operating environment corresponding to the target hardware, and the operating environment may be the operating environment provided by the simulator, or the operating environment provided by the real hardware. The specific operating environment of the current application to be run can be determined by the server according to the type of target hardware corresponding to the application to be run.

[0068] S102: When the operating environment is the target environment, determine the application type corresponding to the application to be run.

[0069] In this specification, when the operating environment is the target environment, the server can determine the application type corresponding to the application to be run. Wherein, the target environment is the environment corresponding to the simulator, that is, the operating environment provided by the simulator, and the target hardware corresponding to the current application to be run is the simulator, and the application to be run is deployed on the simulator to run in the environment provided by the simulator.

[0070] In this specification, each application has a corresponding application type, and the application can be divided into multiple types according to at least one of the development platform and development language. When the application is divided into multiple types according to the development platform, the application type is various development platform types, and the development platform type may include native application development platform, cross-platform application development platform and game development engine. The native application development platform can provide the native language and tools required for application development, that is, the native language and tools of the native application development platform can be used to develop applications, and the native application development platform includes the Android application development platform. The cross-platform application development platform allows developers to write applications that can run on multiple hardware, that is, applications that can be developed on multiple devices based on the cross-platform application development platform. The cross-platform application development platform includes React Native, Flutter and Xamarin. React Native can use JavaScript and React to develop cross-platform applications. Flutter can use Dart language to develop cross-platform applications. Xamarin can use C# language to develop cross-platform applications. The game development engine is used to create tools and environments for games, and the game development engine may include Unity and UnrealEngine, and Unity can support cross-platform game development. Unreal Engine can be used to create high-quality 3D games. When the applications are divided into multiple types according to the development language, the application types are various development languages, and the development languages ​​may include Java, Python, C#, JavaScript, etc.

[0071] In addition, in addition to classifying applications into multiple application types according to development platforms or development languages, applications can also be classified into multiple application types according to their functions or uses, and the application types may include office types, social media types, game types, and utility tools, etc. Of course, the application type may also be a subtype of one of the above functions or uses. Specifically, taking the above game type as an example, the application type may be several subtypes of the game type, and each subtype may be a single-player game and a multiplayer game, or an action game, adventure game, shooting game, puzzle game, strategy game, simulation game, etc., or a first-person perspective, a third-person perspective, a top-down perspective, and a side-view perspective, etc. As for the types of application types, they can be pre-set by the server.

[0072] In this specification, when the operating environment is the target environment, the application type corresponding to the application to be run is determined. Specifically, the server may first determine the environmental parameters corresponding to the operating environment and use them as the first parameters, and determine the parameters of the operating environment corresponding to the pre-set simulator and use them as the target parameters. When the first parameter is consistent with the target parameter, the server may determine that the operating environment is the target environment, and determine the application type corresponding to the application to be run. Among them, the first parameter is the environmental parameter corresponding to the operating environment of the current application to be run, that is, the environmental parameter corresponding to the operating environment provided by the target hardware to which the current application to be run is deployed. The server can directly obtain the environmental parameter corresponding to the operating environment and use it as the first parameter. Of course, the server can also use any existing detection technology or detection algorithm to perform environmental detection on the target hardware corresponding to the current application to be run to determine the environmental parameter corresponding to the current operating environment and use it as the first parameter. This specification does not make specific restrictions. The above-mentioned target environment is the environment corresponding to the simulator, and the target parameter is the environmental parameter corresponding to the operating environment provided by the simulator. The target parameter can be a parameter pre-set by the server. The target parameter is used to detect whether the operating environment of the current application to be run is the operating environment provided by the simulator, that is, to detect whether the target hardware is a simulator.

[0073] In this specification, both the first parameter and the target parameter may include at least one type of parameter such as hardware type, device identifier, device model, manufacturer, etc., and the hardware type may be a CPU architecture, a processor brand. When the first parameter is consistent with the target parameter, it means that the current target hardware is a simulator, and the operating environment of the current application to be run is the operating environment provided by the simulator, then the server can determine the application type corresponding to the application to be run. Specifically, taking the first parameter and the target parameter as an example, the target parameter may be pre-set by the server, and the target parameter may be the CPU architecture of X86. When the first parameter is also the CPU architecture of X86, at this time, the first parameter is consistent with the target parameter, indicating that the operating environment of the current application to be run is the operating environment provided by the simulator, then the server can determine the application type corresponding to the application to be run. However, if the first parameter is an ARM architecture, at this time, the first parameter is inconsistent with the target parameter, indicating that the operating environment of the current application to be run is not the operating environment provided by the simulator, then the server can generate a first prompt message and display it to the user to prompt the user that the operating environment of the current application to be run is not the operating environment provided by the simulator. The first prompt message may be text, audio, etc., and this specification does not make specific restrictions. The first prompt information may be text or audio corresponding to "the operating environment is not the operating environment provided by the simulator", and of course, may also be text or audio corresponding to other contents, which is not specifically limited in this specification. When displaying the first prompt information to the user, the server may display it to the user directly, or may display it to the user through text messages, phone calls, etc., which is not specifically limited in this specification.

[0074] In this specification, since both the first parameter and the target parameter may include at least one type of parameter such as hardware type, device identifier, device model, manufacturer, etc., in order to more quickly determine whether the current operating environment is the operating environment of the simulator, the server may determine the environmental parameters corresponding to the operating environment and use them as the first parameters. From the first parameter, determine the parameter of the specified type and use it as the second parameter. Then, determine the parameter of the specified type in the operating environment corresponding to the pre-set simulator and use it as the specified parameter. When the second parameter is consistent with the specified parameter, determine that the operating environment is the target environment, as well as the application type corresponding to the application to be run. Among them, the specified type is pre-set by the server, and the specified type may be at least one of the hardware type, device identifier, device model, and manufacturer.

[0075] S104: Determine the abnormal cause of the historical application corresponding to the application type in history from a preset intelligent compatible library.

[0076] In this specification, the server can determine the abnormal reasons of the historical applications corresponding to the historical application types from the pre-set intelligent compatible library. Among them, the intelligent compatible library is pre-set by the server, and the intelligent compatible library includes the abnormal reasons of the historical applications corresponding to each application type in history. The historical application is an application that has been run on the simulator in history. The abnormal reason is the reason corresponding to the abnormal situation that occurred when the historical application was run on the simulator. The abnormal situation includes operation interruption, application flashback or functional abnormality, etc. In addition, the abnormal reason can be the abnormal reason corresponding to the shared object library in the historical application, that is, the reason for the abnormal loading of the shared object library in the historical application when the historical application is running on the simulator. The shared object library, that is, the Shared Object library, can also be called a shared library (Shared Library), which is usually represented by the ".so" suffix in the Linux system, and in the Microsoft operating system, it can be a dynamic link library (Dynamic Link Library, referred to as DLL). The abnormal reason can be determined by the user based on the abnormal situation that occurred in the historical application in history, or it can be determined based on the abnormal situation that occurred in the historical application using any existing analysis technology, and this specification does not make specific restrictions.

[0077] The above-mentioned abnormal reasons may include hardware architecture mismatch, operating system differences, missing dependent resources, etc. The hardware architecture mismatch refers to the mismatch between the architecture required for the shared object library to run (i.e., the architecture selected when the shared object library was compiled) and the hardware architecture of the operating environment provided by the simulator. For example, if the shared object library is compiled based on the ARM architecture, the shared corresponding library can run based on the ARM architecture, while the simulator runs based on the x86 CPU architecture, resulting in a mismatch between the architecture required for the shared object library to run and the hardware architecture of the operating environment provided by the simulator. The operating system difference refers to the difference between the operating system that the shared object library depends on and the operating system that the simulator can run. For example, the shared object library may depend on a specific version of the operating system or certain operating system libraries. If the operating system version used by the simulator is older, or the necessary libraries are missing, the operating system that the shared object library depends on and the operating system that the simulator can run will differ, so that the shared object library may not be loaded or run normally. Missing dependent resources refer to the lack of resources for loading or running shared corresponding libraries in the operating environment provided by the simulator. The resources may be function libraries.

[0078] S106: Analyze the application to be run according to the abnormal reason, and determine the analysis result corresponding to the shared object library in the application to be run.

[0079] In this specification, the server can analyze the application to be run according to the cause of the exception and determine the analysis result corresponding to the shared object library in the application to be run. Specifically, the server can determine the code corresponding to the shared object library in the application to be run, and when the code has the above-mentioned cause of the exception, the cause of the exception is used as the analysis result corresponding to the shared object library in the application to be run. The code is all the code related to the shared object library in the code corresponding to the application to be run, including but not limited to the code that calls the shared object library, the code that loads the dependent resources corresponding to the shared object library, etc.

[0080] When the above-mentioned exception reason exists in the code, the exception reason is used as the analysis result corresponding to the shared object library in the application to be run. Specifically, the server can use a pre-set analysis algorithm or analysis model to determine whether the code has the above-mentioned exception reason, and when the code has the exception reason, the exception reason is used as the analysis result corresponding to the shared object library in the application to be run. Among them, the analysis algorithm can be pre-set by the server, and the analysis algorithm is used to determine whether the code has the above-mentioned exception reason. Of course, the analysis algorithm can also be any existing analysis algorithm, and this specification does not make specific restrictions. The above-mentioned analysis model can be pre-trained by the server, and the analysis model is used to determine whether the code has the above-mentioned exception reason. Of course, the analysis model can also be any existing machine learning model, and this specification does not make specific restrictions.

[0081] Specifically, taking the exception cause as missing dependent resources as an example, the server can first determine the code corresponding to the shared object library in the application to be run, and then determine the dependent resources corresponding to the shared object library according to the code, and use them as the target resources. When the target resource does not exist in the above-mentioned operating environment, it is determined that the code has the exception cause, and the exception cause can be used as the analysis result corresponding to the shared object library in the application to be run. Of course, the exception cause can also be a mismatch in the hardware architecture or a difference in the operating system. The server can also first determine the code corresponding to the shared object library in the application to be run in the above manner, and then determine the hardware architecture or operating system corresponding to the shared object library according to the code, and use it as the target architecture or target operating system, and then determine whether the code has the exception cause by judging whether the target architecture or target operating system is consistent with the hardware architecture or operating system of the simulator. Specifically, when the target architecture or target operating system is inconsistent with the hardware architecture or operating system of the simulator, it is determined that the code has the exception cause, and the exception cause can be used as the analysis result corresponding to the shared object library in the application to be run.

[0082] S108: Adjust the target to be adjusted according to the analysis result; wherein the target to be adjusted is at least one of the application to be run and the running environment.

[0083] In this specification, the server can adjust the target to be adjusted according to the analysis results. The target to be adjusted is at least one of the application to be run and the operating environment. The target to be adjusted can be determined by the server according to the analysis results. When the abnormal reason is the mismatch of the hardware architecture, the target to be adjusted can be the application to be run. When the abnormal reason is the difference in the operating system, the target to be adjusted can be the application to be run or the operating environment. When the abnormal reason is the lack of dependent resources, the target to be adjusted can be the operating environment or the application to be run.

[0084] In this specification, the above-mentioned intelligent compatible library also includes an adjustment strategy corresponding to the abnormal cause. The adjustment strategy can be an adjustment strategy determined by the user based on the abnormal cause of historical application. Of course, the adjustment strategy can also be generated based on a preset strategy generation algorithm or a pre-trained strategy generation model, which is not specifically limited in this specification. The adjustment strategy is used to adjust the target to be adjusted. The adjustment strategy may include modifying the code of the shared object library, adjusting the compilation information of the shared object library, recompiling the shared object library, loading dependent resources into the operating environment of the simulator, etc. The compilation information includes the hardware architecture. Therefore, the server can determine the adjustment strategy corresponding to the abnormal cause from the intelligent compatible library according to the abnormal cause corresponding to the analysis result, and adjust the target to be adjusted according to the determined adjustment strategy.

[0085] Wherein, when adjusting the target to be adjusted according to the determined adjustment strategy, the server may generate policy recommendation information corresponding to the adjustment strategy according to the determined adjustment strategy, and display the policy recommendation information to the user, so that the user can adjust the target to be adjusted according to the policy recommendation information. The server may determine the adjusted target to be adjusted in response to the user's adjustment operation. Wherein, the target to be adjusted may also be determined by the user according to the policy recommendation information, which is not specifically limited in this specification. The policy recommendation information may be the adjustment strategy determined by the server, and there is a corresponding relationship between the adjustment strategy and the abnormal cause. The adjustment operation may include modifying the code of the shared object library, adjusting the compilation information of the shared object library, recompiling the shared object library, loading dependent resources into the running environment of the simulator, etc. The adjusted target to be adjusted may be at least one of the application to be run after adjustment by the user and the running environment after adjustment. The user may adjust the application to be run, such as modifying the code of the shared object library in the application to be run, and adjusting the architecture of the shared object library when compiling, and recompiling the shared object library, and then redeploying the adjusted application to be run to the target hardware for operation. Of course, the user can also adjust the operating environment of the simulator, such as loading dependent resources into the operating environment of the simulator to obtain an adjusted operating environment.

[0086] Of course, the server can also automatically adjust the target to be adjusted directly according to the determined adjustment strategy. Taking the adjustment strategy of recompiling the shared object library as an example, the server can automatically recompile the shared object library of the application to be run based on the hardware architecture of the simulator to adjust the target to be adjusted.

[0087] S110: Determine a target application based on the adjusted target to be adjusted, and run the target application.

[0088] In this specification, the server can determine the target application based on the adjusted target to be adjusted, and run it. Among them, the target application is one of the application to be run and the adjusted application to be run. If in the above step S108, only the application to be run is adjusted, the target application is the adjusted application to be run, and the operating environment of the current target application is the target environment (i.e., the operating environment in the above step S100), that is, the operating environment provided by the simulator that has not been adjusted, and the adjusted application to be run can be run directly in the operating environment later. If in the above step S108, only the operating environment is adjusted, the target application is the application to be run, that is, the application that has not been adjusted, and the operating environment of the current target application is the adjusted operating environment, and the application to be run can be run directly in the adjusted operating environment later. However, if in the above step S108, not only the application to be run is adjusted, but also the operating environment is adjusted, the target application is the adjusted application to be run, and the operating environment of the target application is the adjusted operating environment, and the adjusted application to be run can be run directly in the adjusted operating environment later.

[0089] It can be seen from the above method that when the present application is running an application, the server may first respond to the user's startup operation, determine the current operating environment of the application to be run, and when the operating environment is the target environment, determine the application type corresponding to the application to be run. From the pre-set intelligent compatibility library, determine the abnormal cause of the historical application corresponding to the historical application type. According to the abnormal cause, analyze the application to be run, and determine the analysis result corresponding to the shared object library in the application to be run. According to the analysis result, adjust the target to be adjusted, and then determine the target application based on the adjusted target to be adjusted, and run it. Based on the abnormal cause of the historical application of the same application type, analyze the application to be run to determine the analysis result, and adjust the target to be adjusted based on the analysis result, which significantly improves the compatibility and stability of the shared object library in the simulator environment, and reduces the crash and functional abnormality of the application during operation.

[0090] In this specification, the above-mentioned intelligent compatible library may include several exception reasons of historical applications corresponding to each application type in history, so in the above-mentioned step S106, the server can determine the code corresponding to the shared object library in the application to be run. For each exception reason, determine whether the code has the exception reason. If so, the exception reason is used as the analysis result corresponding to the shared object library in the application to be run. If not, the exception reason is not used as the analysis result corresponding to the shared object library in the application to be run. Among them, the specific process of determining whether the code has the exception reason is similar to the process in the above step S106, and will not be repeated here.

[0091] Based on this, the above-mentioned intelligent compatibility library also includes adjustment strategies corresponding to each abnormal cause. In the above-mentioned step S108, the server can determine the abnormal cause included in the analysis result and use it as the target cause. From the various adjustment strategies included in the intelligent compatibility library, determine the adjustment strategy corresponding to the target cause and use it as the target strategy. According to the target policy, adjust the target to be adjusted. The specific process is similar to the content described in the above-mentioned step S108, and will not be repeated here. Among them, when adjusting the target to be adjusted according to the target policy, the server can generate policy recommendation information according to the target policy. Display the policy recommendation information to the user. In response to the user's adjustment operation, determine the adjusted target to be adjusted. The specific process is similar to the process of adjusting the target to be adjusted according to the determined adjustment strategy in the above-mentioned step S108, and will not be repeated here.

[0092] In this specification, although the target to be adjusted is adjusted according to the abnormal causes and adjustment strategies of historical applications of the same application type in history, the target application can be guaranteed to run stably on the simulator, but abnormal situations may still occur during the operation of the target application on the simulator. In order to avoid the same abnormal situation as the target application when other applications are running on the simulator in the future, during the operation of the target application, the server can monitor the running state of the target application in real time. When the running state of the target application is an abnormal state, determine the abnormal log corresponding to the target application. According to the abnormal log of the target application, determine the abnormal cause corresponding to the target application. According to the determined abnormal cause, update the intelligent compatible library. Among them, the running state includes one of a normal state and an abnormal state. When an abnormal situation occurs in the target application, the running state of the target application is an abnormal state, and when the target application does not have an abnormal situation, the running state of the target application is a normal state. The abnormal log is a log generated when an abnormal situation occurs in the target application, and the server can directly obtain it from the log system of the simulator. When determining the cause of the exception corresponding to the target application based on the exception log of the target application, the server may use any existing analysis technology to determine the cause of the exception corresponding to the target application based on the exception log. The analysis technology may be a machine learning model or algorithm, which is not specifically limited in this specification. Of course, the server may also display the exception log to the user so that the user can determine the cause of the exception corresponding to the target application and upload it to the server.

[0093] When the intelligent compatible library is updated according to the determined abnormal cause, the server can directly store the determined abnormal cause in the intelligent compatible library to update the intelligent compatible library. In addition, the server can also determine the adjustment strategy corresponding to the abnormal cause according to the determined abnormal cause, and directly store the determined abnormal cause and the adjustment strategy in the intelligent compatible library to update the intelligent compatible library. Among them, when determining the adjustment strategy corresponding to the abnormal cause according to the determined abnormal cause, the server can input the determined abnormal cause into a pre-trained policy generation model to determine the adjustment strategy corresponding to the abnormal cause. The policy generation model can be a machine learning model pre-trained by the server, or any existing policy generation model, which is not specifically limited in this specification. Of course, the server can also determine the adjustment strategy corresponding to the abnormal cause based on the determined abnormal cause according to a pre-set policy generation algorithm. The policy generation algorithm can be pre-set by the server, or any existing policy generation algorithm, which is not specifically limited in this specification. In addition, the server can also display the determined abnormal cause to the user so that the user can determine the adjustment strategy corresponding to the abnormal cause and upload it to the server.

[0094] In this specification, in the above step S104, when the exception cause of the historical application corresponding to the application type does not exist in the intelligent compatible library, the server can directly run the application to be run. During the running process of the application to be run, the running status corresponding to the application to be run is monitored in real time. When the running status of the application to be run is an abnormal state, the exception log corresponding to the application to be run is determined. According to the exception log of the application to be run, the exception cause corresponding to the application to be run is determined. According to the exception cause of the application to be run, an adjustment strategy corresponding to the exception cause of the application to be run is generated. The exception cause of the application to be run and the generated adjustment strategy are stored in the intelligent compatible library. The specific process is similar to the above-mentioned process of monitoring the running status of the target application, determining the exception log of the target application, determining the exception cause of the target application and adjusting the strategy, and will not be repeated here.

[0095] In this specification, in the above step S106, when the code corresponding to the shared object library in the determined application to be run does not have the exception cause determined in the above step 104, the server can also directly run the application to be run. During the running process of the application to be run, the running state corresponding to the application to be run is monitored in real time. When the running state of the application to be run is an abnormal state, the exception log corresponding to the application to be run is determined. According to the exception log of the application to be run, the exception cause corresponding to the application to be run is determined. According to the exception cause of the application to be run, an adjustment strategy corresponding to the exception cause of the application to be run is generated. The exception cause of the application to be run and the generated adjustment strategy are stored in the intelligent compatibility library.

[0096] In this specification, the above-mentioned smart compatibility library is a dynamically updated smart compatibility library. The application types, exception causes and adjustment strategies included in the smart compatibility library can be dynamically updated for use when running the application on the simulator later, thereby reducing application crashes and functional abnormalities when the application is running in the simulator environment, and improving the stability of the application running in the simulator environment.

[0097] The above are one or more implementation methods of this specification. Based on the same idea, this specification also provides a corresponding device for running the application, such as Figure 2 shown.

[0098] Figure 2 A schematic diagram of a device for running an application provided in this specification includes:

[0099] A first determining module 200 is used to determine the current operating environment of the application to be run in response to a user's startup operation;

[0100] A second determination module 202, configured to determine an application type corresponding to the application to be run when the running environment is a target environment;

[0101] The third determination module 204 is used to determine the abnormal cause of the historical application corresponding to the application type in history from a preset intelligent compatible library;

[0102] An analysis module 206 is used to analyze the application to be run according to the abnormal reason, and determine an analysis result corresponding to the shared object library in the application to be run;

[0103] An adjustment module 208, configured to adjust a target to be adjusted according to the analysis result; wherein the target to be adjusted is at least one of the application to be run and the running environment;

[0104] The running module 210 is used to determine and run the target application based on the adjusted target to be adjusted.

[0105] Optionally, the target environment is an environment corresponding to the simulator;

[0106] The second determination module 202 is specifically used to determine the environmental parameters corresponding to the operating environment and use them as the first parameters, and to determine the parameters of the operating environment corresponding to the pre-set simulator and use them as the target parameters; when the first parameter is consistent with the target parameter, the operating environment is determined to be the target environment, and the application type corresponding to the application to be run is determined.

[0107] Optionally, the intelligent compatible library includes several abnormal reasons of historical applications corresponding to each application type in history, and the abnormal reasons are the abnormal reasons corresponding to the shared object library in the historical applications;

[0108] The analysis module 206 is specifically used to determine the code corresponding to the shared object library in the application to be run; for each exception reason, determine whether the code has the exception reason; if so, use the exception reason as the analysis result corresponding to the shared object library in the application to be run; if not, do not use the exception reason as the analysis result corresponding to the shared object library in the application to be run.

[0109] Optionally, the intelligent compatibility library also includes adjustment strategies corresponding to each abnormal reason;

[0110] The adjustment module 208 is specifically used to determine the abnormal cause included in the analysis result and use it as the target cause; determine the adjustment strategy corresponding to the target cause from the adjustment strategies included in the intelligent compatible library and use it as the target strategy; and adjust the target to be adjusted according to the target strategy.

[0111] Optionally, the adjustment module 208 is specifically configured to generate policy recommendation information according to the target policy; display the policy recommendation information to the user; and determine an adjusted target to be adjusted in response to an adjustment operation of the user.

[0112] Optionally, the device further comprises:

[0113] The update module 212 is used to monitor the running state of the target application in real time during the running process of the target application; when the running state of the target application is an abnormal state, determine the abnormal log corresponding to the target application; determine the abnormal cause corresponding to the target application according to the abnormal log of the target application; and update the intelligent compatible library according to the determined abnormal cause.

[0114] Optionally, the update module 212 is also used to, when the exception cause of the historical application corresponding to the application type does not exist in the intelligent compatible library, run the application to be run; during the running process of the application to be run, monitor the running status of the application to be run in real time; when the running status of the application to be run is an abnormal state, determine the exception log corresponding to the application to be run; determine the exception cause corresponding to the application to be run according to the exception log of the application to be run; generate an adjustment policy corresponding to the exception cause of the application to be run according to the exception cause of the application to be run; store the exception cause of the application to be run and the generated adjustment policy in the intelligent compatible library.

[0115] This specification also provides a computer-readable storage medium, which stores a computer program, which can be used to execute the above Figure 1 Provides a method for running an application.

[0116] This manual also provides Figure 3 The one shown corresponds to Figure 1 A schematic diagram of the electronic device. Figure 3 As shown, 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 A method for running the application.

[0117] Of course, in addition to software implementation, this specification does not exclude other implementation methods, such as logic devices or a combination of software and hardware, etc., that is to say, the executor of the following processing flow is not limited to each logic unit, but can also be hardware or logic devices.

[0118] In the 1990s, improvements to a technology could be clearly distinguished as hardware improvements (for example, improvements to the circuit structure of diodes, transistors, switches, etc.) or software improvements (improvements to the method flow). However, with the development of technology, many improvements to the method flow today can be regarded as direct improvements to 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 an improvement in a method flow cannot be implemented using 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 it themselves, without having to ask a chip manufacturer to design and produce a dedicated integrated circuit chip. 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.

[0119] 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.

[0120] 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.

[0121] For the convenience of description, the above device is described by dividing it into various units according to its functions. Of course, when implementing this specification, the functions of each unit can be implemented in the same or multiple software and / or hardware.

[0122] 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.

[0123] 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.

[0124] 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.

[0125] 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. Figure 1 A process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0126] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0127] 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.

[0128] 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 magnetic 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.

[0129] 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.

[0130] 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.

[0131] 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.

[0132] 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.

[0133] 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 running an application, characterized in that: include: In response to a user's startup operation, determining a current running environment of the application to be run; When the operating environment is the target environment, determining an application type corresponding to the application to be run; Determine the abnormal cause of the historical application corresponding to the application type in history from a pre-set intelligent compatible library; Analyze the application to be run according to the abnormal reason, and determine the analysis result corresponding to the shared object library in the application to be run; According to the analysis result, adjusting the target to be adjusted; wherein the target to be adjusted is at least one of the application to be run and the running environment; Based on the adjusted target to be adjusted, determine the target application and run it.

2. The method according to claim 1, characterized in that The target environment is the environment corresponding to the simulator; When the operating environment is the target environment, determining the application type corresponding to the application to be run specifically includes: Determine the environment parameter corresponding to the operating environment and use it as the first parameter, and determine the parameter of the operating environment corresponding to the preset simulator and use it as the target parameter; When the first parameter is consistent with the target parameter, the operating environment is determined to be the target environment, and the application type corresponding to the application to be run is determined.

3. The method according to claim 1, characterized in that The intelligent compatible library includes several abnormal reasons of historical applications corresponding to each application type in history, and the abnormal reasons are the abnormal reasons corresponding to the shared object library in the historical applications; According to the abnormal reason, the application to be run is analyzed to determine the analysis result corresponding to the shared object library in the application to be run, specifically including: Determine the code corresponding to the shared object library in the application to be run; For each exception reason, determine whether the code has the exception reason; If yes, use the abnormal reason as the analysis result corresponding to the shared object library in the application to be run; If not, the abnormal reason is not used as the analysis result corresponding to the shared object library in the application to be run.

4. The method according to claim 3, characterized in that The intelligent compatibility library also includes adjustment strategies corresponding to each abnormal reason; According to the analysis results, the target to be adjusted is adjusted, including: Determine the abnormal cause included in the analysis result and use it as the target cause; Determine the adjustment strategy corresponding to the target cause from among the adjustment strategies included in the intelligent compatible library, and use it as the target strategy; According to the target strategy, the target to be adjusted is adjusted.

5. The method according to claim 4, characterized in that According to the target strategy, the target to be adjusted is adjusted, including: Generate strategy recommendation information according to the target strategy; Displaying the policy recommendation information to the user; In response to the user's adjustment operation, an adjusted target to be adjusted is determined.

6. The method according to claim 1, characterized in that The method further comprises: During the operation of the target application, monitoring the operation status of the target application in real time; When the running state of the target application is an abnormal state, determining an abnormal log corresponding to the target application; Determine the cause of the exception corresponding to the target application according to the exception log of the target application; The intelligent compatibility library is updated according to the determined abnormal cause.

7. The method according to claim 1, characterized in that The method further comprises: When the abnormal reason of the historical application corresponding to the application type does not exist in the intelligent compatible library, running the application to be run; During the running process of the application to be run, real-time monitoring of the running status of the application to be run; When the running state of the application to be run is an abnormal state, determining an abnormal log corresponding to the application to be run; Determining the abnormal cause of the application to be run according to the abnormal log of the application to be run; generating, according to the abnormal reason of the application to be run, an adjustment strategy corresponding to the abnormal reason of the application to be run; The abnormal cause of the application to be run and the generated adjustment strategy are stored in the intelligent compatibility library.

8. A device for running an application, characterized in that: include: A first determining module, configured to determine the current operating environment of the application to be run in response to a user's startup operation; A second determination module, used for determining the application type corresponding to the application to be run when the running environment is the target environment; A third determination module is used to determine the abnormal cause of the historical application corresponding to the application type in history from a preset intelligent compatible library; An analysis module, configured to analyze the application to be run according to the abnormal cause, and determine an analysis result corresponding to the shared object library in the application to be run; An adjustment module, configured to adjust a target to be adjusted according to the analysis result; wherein the target to be adjusted is at least one of the application to be run and the running environment; The running module is used to determine the target application based on the adjusted target to be adjusted, and run it.

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.

Citation Information

Patent Citations

  • Application program control method and device, equipment and program product

    CN116483464A

  • Application program testing method and device, computer equipment and storage medium

    CN116881148A

  • Abnormality processing method, terminal equipment and storage medium

    CN118672844A

  • Data anomaly detection

    WO2019231659A1