A method, device, storage medium and electronic device for application running

By identifying and addressing the causes of abnormal shared object libraries in Android applications within emulators, compatibility and stability issues of Android applications running in emulators were resolved, improving the stability of applications running in the emulator environment.

CN119179597BActive Publication Date: 2025-11-07GUANGZHOU YINGFENG NETWORK TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

When an Android application runs in an emulator, an error occurs during the loading of the shared object library, causing the application to crash or malfunction. Existing technologies struggle to resolve this issue.

Method used

By responding to user startup operations, the system determines the runtime environment and identifies the application type. It retrieves the causes of historical application anomalies from the intelligent compatibility library, analyzes and adjusts the shared object library, and ensures the compatibility and stability of the application in the simulator environment.

Benefits of technology

It significantly improves the compatibility and stability of the shared object library in the simulator environment, and reduces crashes and functional abnormalities during application operation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119179597B_ABST
    Figure CN119179597B_ABST
Patent Text Reader

Abstract

The specification discloses a method, device, storage medium and electronic equipment running an application, the method comprising: in response to a user's starting operation, determining the current running environment of the application to be run, when the running environment is a target environment, determining the application type of the application to be run. From the intelligent compatibility library, determine the abnormal reason of the historical application corresponding to the application type in history. 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. According to the analysis result, the target to be adjusted is adjusted, and the target application is determined based on the adjusted target to be adjusted and run. Based on the abnormal reason of the historical application of the same application type, the application to be run is analyzed to determine the analysis result, and the target to be adjusted is adjusted based on the analysis result, which significantly improves the compatibility and stability of the shared object library in the environment of the simulator, and reduces the application crash and function abnormality.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present specification relates to the technical field of computer, and particularly relates to a method and device for running an application, a storage medium and an electronic device. BACKGROUND

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

[0003] At present, after the development of an Android application, the Android application can be deployed into an emulator and run in the emulator to test or apply the Android application. However, since there may be differences between the running environment provided by the emulator and the running environment provided by the real hardware, the loading of the shared object (so) library in the Android application may be abnormal, resulting in the crash of the Android application or the abnormality of the functions included in the Android application. Therefore, how to run the application in the emulator to avoid application crash or function abnormality is a very important problem.

[0004] Based on this, the present specification provides a method for running an application. SUMMARY

[0005] The present specification provides a method and device for running an application, a storage medium and an electronic device to partially solve the above problems existing in the prior art.

[0006] The present specification adopts the following technical solutions:

[0007] The present specification provides a method for running an application, comprising:

[0008] In response to a start operation of a user, a current running environment of an application to be run is determined;

[0009] When the running environment is a target environment, the application type corresponding to the application to be run is determined;

[0010] From a pre-set intelligent compatibility library, the abnormal reasons of historical applications corresponding to the application type in history are determined;

[0011] According to the abnormal reasons, the application to be run is analyzed to determine the analysis results of the shared object library in the application to be run;

[0012] According to the analysis results, the target to be adjusted is 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, a target application is determined and run.

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

[0015] When the running environment is the target environment, determining an application type corresponding to the application to be run, specifically comprising:

[0016] Determining an environment parameter corresponding to the running environment as a first parameter, and determining a parameter of the running environment corresponding to the simulator set in advance as a target parameter;

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

[0018] Optionally, the intelligent compatibility library includes a plurality of abnormal reasons of historical applications corresponding to each application type in history, the abnormal reason being an abnormal reason corresponding to a shared object library in the historical application;

[0019] According to the abnormal reason, analyzing the application to be run to determine an analysis result of the shared object library in the application to be run, specifically comprising:

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

[0021] For each abnormal reason, judging whether the code exists the abnormal reason;

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

[0023] If no, not taking the abnormal reason as the analysis result of the shared object library in the application to be run.

[0024] Optionally, the intelligent compatibility library further includes an adjustment strategy corresponding to each abnormal reason respectively;

[0025] According to the analysis result, adjusting the target to be adjusted, specifically comprising:

[0026] Determining the abnormal reason included in the analysis result as a target reason;

[0027] From the adjustment strategies included in the intelligent compatibility library, determining the adjustment strategy corresponding to the target reason as a target strategy;

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

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

[0030] According to the target strategy, generating strategy recommendation information;

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

[0032] In response to an adjustment operation of the user, determining an adjusted target to be adjusted.

[0033] Optionally, the method further comprises:

[0034] monitoring a running state of the target application in real time during a running process of the target application;

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

[0036] According to the abnormal log of the target application, determining an abnormal reason corresponding to the target application;

[0037] According to the determined abnormal reason, updating the intelligent compatibility library.

[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 compatibility library, running the application to be run;

[0040] monitoring a running state corresponding to the application to be run in real time during a running process 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] According to the abnormal log of the application to be run, determining an abnormal reason corresponding to the application to be run;

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

[0044] Storing the abnormal reason of the application to be run and the generated adjustment policy into the intelligent compatibility library.

[0045] The present specification provides an application running device, comprising:

[0046] A first determining module is configured to determine a current running environment of an application to be run in response to a starting operation of a user;

[0047] A second determining module is configured to determine an application type corresponding to the application to be run when the running environment is a target environment;

[0048] A third determining module is configured to determine an abnormal reason of a historical application corresponding to the application type from a pre-set intelligent compatibility library.

[0049] an analysis module configured to analyze the to-be-run application according to the abnormal reason, and determine an analysis result of a shared object library in the to-be-run application;

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

[0051] a running module configured to determine a target application based on the adjusted to-be-adjusted target, and run the target application.

[0052] The specification provides a computer-readable storage medium, which stores a computer program, and the computer program is executed by a processor to implement the method for running an application.

[0053] The specification provides an electronic device, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor, and the processor implements the method for running an application when executing the program.

[0054] The above at least one technical solution adopted by the specification can achieve the following beneficial effects:

[0055] The method for running an application provided by the specification responds to a start operation of a user, determines a current running environment of a to-be-run application, and determines an application type corresponding to the to-be-run application when the running environment is a target environment. An abnormal reason of a historical application corresponding to the application type in history is determined from a pre-set intelligent compatibility library. The to-be-run application is analyzed according to the abnormal reason, and an analysis result of a shared object library in the to-be-run application is determined. A to-be-adjusted target is adjusted according to the analysis result, and a target application is determined based on the adjusted to-be-adjusted target and is run.

[0056] As can be seen from the above method, when running an application, the application first responds to a start operation of a user, determines a current running environment of a to-be-run application, and determines an application type corresponding to the to-be-run application when the running environment is a target environment. An abnormal reason of a historical application corresponding to the application type in history is determined from a pre-set intelligent compatibility library. The to-be-run application is analyzed according to the abnormal reason, and an analysis result of a shared object library in the to-be-run application is determined. A to-be-adjusted target is adjusted according to the analysis result, and a target application is determined based on the adjusted to-be-adjusted target and is run. The abnormal reason of the historical application of the same application type is used to analyze the to-be-run application to determine an analysis result, and the to-be-adjusted target is adjusted based on the analysis result, which significantly improves the compatibility and stability of the shared object library in the environment of the emulator, and reduces the situation of application crash and function abnormality in the running process. Attached Figure Description

[0057] The accompanying drawings, which are included to provide a further understanding of this specification and form part of this specification, illustrate exemplary embodiments and are used to explain this specification, but do not constitute an undue limitation thereof. In the drawings:

[0058] Figure 1 This is a flowchart illustrating one method for running an application as provided in this specification.

[0059] Figure 2 This is a schematic diagram of the structure of an application operating device provided in this specification;

[0060] Figure 3 This specification provides a corresponding Figure 1 A schematic diagram of the structure of an electronic device. Detailed Implementation

[0061] To make the objectives, technical solutions, and advantages of this specification clearer, the technical solutions of this specification will be clearly and completely described below in conjunction with specific embodiments and corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of this specification, and not all of them. Based on the embodiments in this specification, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this specification.

[0062] Currently, the Android system is widely used in various mobile devices due to its openness and flexibility. However, Android applications often face compatibility and stability issues when running in an emulator environment, especially when it comes to shared object libraries (.so libraries) within Android applications. Because the runtime environment provided by the emulator differs from that provided by the real hardware—for example, emulators and real hardware have different architectures (emulators can run on x86 Central Processing Units (CPUs), while real hardware devices can run on ARM architectures)—the behavior of .so libraries in Android applications may differ on the emulator compared to on a real device, leading to Android application crashes or malfunctions.

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

[0064] Figure 1 This is a flowchart illustrating a method for running an application as provided in this specification, including the following steps:

[0065] S100: In response to a starting operation of a user, determine a current running environment of an application to be run.

[0066] In the specification, the device for running the application can determine the current running environment of the application to be run in response to the starting operation of the user. The device for running the application can be an application program, a system or a server. The application program or the system can be pre-deployed in the application to be run, or can be a third-party application program or system, or can be an electronic device such as a desktop computer or a notebook computer. For ease of description, the method for running the application provided in the specification is described below by taking the server as the execution subject. The user can be a developer of the application to be run.

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

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

[0069] In the specification, when the running environment is a target environment, the server can determine the application type corresponding to the application to be run. The target environment is an environment corresponding to the emulator, that is, a running environment provided by the emulator. The target hardware corresponding to the current application to be run is the emulator. The application to be run is deployed to the emulator to run in the environment provided by the emulator.

[0070] In the present specification, each application has a corresponding application type, and the applications can be divided into multiple types according to at least one of a development platform and a development language. When the applications are divided into multiple types according to the development platform, the application type is various development platform types, which can include a native application development platform, a cross-platform application development platform, and a game development engine. The native application development platform can provide a native language and tools required when developing an application, that is, an application can be developed using the native language and tools of the native application development platform, and the native application development platform includes an Android application development platform. The cross-platform application development platform can enable a developer to write an application program that can run on multiple hardware, that is, an application program that runs on multiple devices can be developed based on the cross-platform application development platform. The cross-platform application development platform includes React Native, Flutter, and Xamarin. React Native can develop cross-platform applications using JavaScript and React. Flutter can develop cross-platform applications using the Dart language. Xamarin can develop cross-platform applications using the C# language. The game development engine is a tool and environment for creating games, and the game development engine can include Unity and UnrealEngine, Unity can support cross-platform game development. UnrealEngine can be used to create high-quality 3D games. When the applications are divided into multiple types according to the development language, the application type is various development languages, which can include Java, Python, C#, and JavaScript.

[0071] In addition, in addition to dividing the applications into multiple application types according to the development platform or the development language, the applications can also be divided into multiple application types according to the functions or purposes of the applications, and the application type can include an office type, a social media type, a game type, and a utility tool, etc. Of course, the application type can also be a sub-type of one of the above functions or purposes. Taking the game type as an example, the application type can be several sub-types included in the game type, and each sub-type can be a single-player game and a multi-player game, and can also be an action game, an adventure game, a shooting game, a puzzle game, a strategy game, and a simulation game, etc., and can also be a first-person perspective, a third-person perspective, a top-down perspective, and a side-view perspective, etc. As for which types the application type is, it can be set by the server in advance.

[0072] In the present specification, when the running environment is the target environment, the application type corresponding to the application to be run is determined. Specifically, the server can first determine the environment parameter corresponding to the running environment as the first parameter, and determine the parameter of the running environment corresponding to the pre-set simulator as the target parameter. When the first parameter is consistent with the target parameter, the server can determine that the running environment is the target environment, and determine the application type corresponding to the application to be run. The first parameter is the environment parameter corresponding to the current running environment of the application to be run, that is, the environment parameter corresponding to the running environment provided by the target hardware to which the current application to be run is deployed. The server can directly obtain the environment parameter corresponding to the running environment as the first parameter. Of course, the server can also use any existing detection technology or detection algorithm to detect the target hardware corresponding to the current application to be run to determine the environment parameter corresponding to the current running environment as the first parameter, which is not limited in the present specification. The target environment is the environment corresponding to the simulator, and the target parameter is the environment parameter corresponding to the running environment provided by the simulator. The target parameter can be a parameter pre-set by the server, which is used to detect whether the running environment of the current application to be run is the running environment provided by the simulator, that is, whether the target hardware is a simulator.

[0073] In the present specification, both the first parameter and the target parameter can include at least one type of parameter such as hardware type, device identifier, device model, manufacturer, etc. The hardware type can be CPU architecture, processor brand. When the first parameter is consistent with the target parameter, it means that the current target hardware is a simulator, and the running environment of the current application to be run is the running environment provided by the simulator, so the server can determine the application type corresponding to the application to be run. Specifically, taking the first parameter and the target parameter both including the CPU architecture as an example, the target parameter can be pre-set by the server, which can 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, which means that the running environment of the current application to be run is the running environment provided by the simulator, so the server can determine the application type corresponding to the application to be run. However, if the first parameter is ARM architecture, at this time, the first parameter is not consistent with the target parameter, which means that the running environment of the current application to be run is not the running environment provided by the simulator, so the server can generate a first prompt information and display it to the user to prompt the user that the running environment of the current application to be run is not the running environment provided by the simulator. The first prompt information can be text, audio, etc., which is not limited in the present specification. The first prompt information can be the text or audio corresponding to "the running environment is not the running environment provided by the simulator", of course, it can also be the text or audio corresponding to other content, which is not limited in the present specification. When the first prompt information is displayed to the user, the server can directly display it to the user, or display it to the user through SMS, telephone, etc., which is not limited in the present specification.

[0074] In the present specification, since the first parameter and the target parameter can each include at least one type of parameter such as a hardware type, a device identifier, a device model, a manufacturer, etc., in order to more quickly determine whether the current running environment is a running environment of an emulator, the server can determine an environment parameter corresponding to the running environment as the first parameter. From the first parameter, a parameter of a specified type is determined as the second parameter. Then, a parameter of the specified type in the running environment corresponding to the pre-set emulator is determined as the specified parameter. When the second parameter is consistent with the specified parameter, it is determined that the running environment is the target environment, and the application type corresponding to the application to be run. The specified type is pre-set by the server, and the specified type can be at least one of a hardware type, a device identifier, a device model, a manufacturer.

[0075] S104: Determine an abnormality reason of a historical application of the application type from a pre-set intelligent compatibility library.

[0076] In the present specification, the server can determine an abnormality reason of a historical application of the application type from a pre-set intelligent compatibility library. The intelligent compatibility library is pre-set by the server, and the intelligent compatibility library includes an abnormality reason of a historical application corresponding to each application type in history. The historical application is an application that has been run on an emulator in history. The abnormality reason is a reason corresponding to an abnormal situation of the historical application running on the emulator. The abnormal situation includes a running interruption, an application crash, or a function abnormality, etc. In addition, the abnormality reason can be an abnormality reason of a shared object library in the historical application, i.e., a reason for a shared object library in the historical application to be loaded abnormally when the historical application runs on the emulator. The shared object library, also known as a shared library, is usually represented by a ".so" suffix in a Linux system, and can be a dynamic link library (DLL) in a Microsoft operating system. The abnormality reason can be determined by a user based on an abnormal situation of the historical application in history, or can be determined by using any existing analysis technology based on the abnormal situation of the historical application, which is not limited in the present specification.

[0077] The abnormality reason can include a hardware architecture mismatch, an operating system difference, missing dependent resources, and the like. The hardware architecture mismatch is that an architecture required by the shared object library at runtime (i.e., an architecture selected by the shared object library at compile time) and a hardware architecture of a running environment provided by the emulator do not match. For example, the shared object library is compiled based on an ARM architecture, and the shared object library can run based on the ARM architecture, while the emulator runs based on an x86 CPU architecture, such that the architecture required by the shared object library at runtime and the hardware architecture of the running environment provided by the emulator do not match. The operating system difference is that an operating system relied on by the shared object library and an operating system runnable by the emulator differ. For example, the shared object library can rely on a specific version of an operating system or certain operating system libraries, and if the emulator uses an older version of the operating system or lacks necessary libraries, the operating system relied on by the shared object library and the operating system runnable by the emulator differ, such that the shared object library can not be normally loaded or run. The missing dependent resources are resources missing in the running environment provided by the emulator for loading or running the shared object library, and the resources can be function libraries.

[0078] S106: Analyzing the application to be run according to the abnormality reason, to determine an analysis result of 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 abnormality reason, to determine an analysis result of the shared object library in the application to be run. Specifically, the server can determine code of the shared object library in the application to be run, and when the code has the abnormality reason, the abnormality reason is taken as the analysis result of the shared object library in the application to be run. The code is all code related to the shared object library in the code of the application to be run, including but not limited to code for calling the shared object library, code for loading dependent resources of the shared object library, and the like.

[0080] When the code has the abnormality reason, the abnormality reason is taken as the analysis result of 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 abnormality reason, and when the code has the abnormality reason, the abnormality reason is taken as the analysis result of the shared object library in the application to be run. The analysis algorithm can be pre-set by the server, and is used to determine whether the code has the abnormality reason. Of course, the analysis algorithm can also be any existing analysis algorithm, which is not specifically limited in this specification. The analysis model can be pre-trained by the server, and is used to determine whether the code has the abnormality reason. Of course, the analysis model can also be any existing machine learning model, which is not specifically limited in this specification.

[0081] Specifically, taking the missing dependent resource as an example, the server can first determine the code corresponding to the shared object library in the to-be-run application, and then determine the dependent resource corresponding to the shared object library according to the code, and take the dependent resource as the target resource. When the target resource does not exist in the running environment, it is determined that the code has the abnormal reason, and the abnormal reason can be taken as the analysis result corresponding to the shared object library in the to-be-run application. Of course, the abnormal reason can also be that the hardware architecture does not match or the operating system has differences. The server can also determine the code corresponding to the shared object library in the to-be-run application according to the above manner, and then determine the hardware architecture or operating system corresponding to the shared object library according to the code, and take the target architecture or target operating system, and then determine whether the code has the abnormal reason 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 abnormal reason, and the abnormal reason can be taken as the analysis result corresponding to the shared object library in the to-be-run application.

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

[0083] In the present specification, the server can adjust the to-be-adjusted target according to the analysis result. The to-be-adjusted target is at least one of the to-be-run application and the running environment, which can be determined by the server according to the analysis result. When the abnormal reason is that the hardware architecture does not match, the to-be-adjusted target can be the to-be-run application. When the abnormal reason is that the operating system has differences, the to-be-adjusted target can be the to-be-run application or the running environment. When the abnormal reason is that the dependent resource is missing, the to-be-adjusted target can be the running environment or the to-be-run application.

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

[0085] In the adjustment of the to-be-adjusted target according to the determined adjustment strategy, the server can generate strategy recommendation information corresponding to the adjustment strategy according to the determined adjustment strategy, and display the strategy recommendation information to the user, so that the user adjusts the to-be-adjusted target according to the strategy recommendation information. The server can determine the adjusted to-be-adjusted target in response to the user's adjustment operation. The to-be-adjusted target can also be determined by the user according to the strategy recommendation information, which is not limited in the specification. The strategy recommendation information can be the adjustment strategy determined by the server, and the adjustment strategy has a corresponding relationship with the abnormal reason. The adjustment operation can 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 to-be-adjusted target can be at least one of the adjusted to-be-run application and the adjusted running environment. The user can adjust the to-be-run application, such as modifying the code of the shared object library in the to-be-run application, or adjusting the architecture during the compilation of the shared object library, and recompiling the shared object library. Then, the adjusted to-be-run application is redeployed to the target hardware for running. Of course, the user can also adjust the running environment of the simulator, such as loading dependent resources into the running environment of the simulator to obtain the adjusted running environment.

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

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

[0088] In the present specification, the server can determine the target application based on the adjusted to-be-adjusted target, and run. The target application is one of the to-be-run application and the adjusted to-be-run application. If only the to-be-run application is adjusted in the step S108, the target application is the adjusted to-be-run application, and the running environment of the current target application is the target environment (i.e., the running environment in the step S100), i.e., the running environment provided by the unadjusted emulator, and the adjusted to-be-run application can be directly run in the running environment subsequently. If only the running environment is adjusted in the step S108, the target application is the to-be-run application, i.e., the unadjusted application, and the running environment of the current target application is the adjusted running environment, and the to-be-run application can be directly run in the adjusted running environment subsequently. However, if not only the to-be-run application is adjusted but also the running environment is adjusted in the step S108, the target application is the adjusted to-be-run application, and the running environment of the target application is the adjusted running environment, and the adjusted to-be-run application can be directly run in the adjusted running environment subsequently.

[0089] As can be seen from the above method, when running the application, the server can first determine the running environment of the to-be-run application in response to the start operation of the user, and when the running environment is the target environment, determine the application type corresponding to the to-be-run application. From the pre-set intelligent compatibility library, determine the abnormal reason of the historical application corresponding to the application type in history. According to the abnormal reason, analyze the to-be-run application to determine the analysis result corresponding to the shared object library in the to-be-run application. According to the analysis result, adjust the to-be-adjusted target, and then determine the target application based on the adjusted to-be-adjusted target and run. Based on the abnormal reason of the historical application of the same application type, the to-be-run application is analyzed to determine the analysis result, and the to-be-adjusted target is adjusted based on the analysis result, which significantly improves the compatibility and stability of the shared object library in the environment of the emulator, and reduces the situation of application crash and function abnormality in the running process.

[0090] In the present specification, the above-mentioned intelligent compatibility library can include several abnormal reasons of the historical application corresponding to each application type in history, so in the step S106, the server can determine the code corresponding to the shared object library in the to-be-run application. For each abnormal reason, it is judged whether the code exists the abnormal reason. If yes, the abnormal reason is taken as the analysis result corresponding to the shared object library in the to-be-run application. If no, the abnormal reason is not taken as the analysis result corresponding to the shared object library in the to-be-run application. The specific process of judging whether the code exists the abnormal reason is similar to the process in the step S106, which will not be repeated here.

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

[0092] In the present specification, although the adjustment of the adjustment target according to the abnormal reason and the adjustment strategy of the historical application of the same application type in history can ensure that the target application runs stably on the emulator, the target application may still have abnormal situations during the running process on the emulator. In order to avoid the same abnormal situation of the target application when other applications run on the emulator in the future, the server can 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, the abnormal log corresponding to the target application is determined. According to the abnormal log of the target application, the abnormal reason corresponding to the target application is determined. According to the determined abnormal reason, the intelligent compatibility library is updated. Among them, the running state includes one of the normal state and the abnormal state, when the target application has an abnormal situation, 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 the target application has an abnormal situation, which can be directly obtained from the log system of the emulator. When the server determines the abnormal reason corresponding to the target application according to the abnormal log of the target application, the server can use any existing analysis technology to determine the abnormal reason corresponding to the target application based on the abnormal log. The analysis technology can be a machine learning model or algorithm, which is not limited in the present specification. Of course, the server can also display the abnormal log to the user to determine the abnormal reason corresponding to the target application and upload it to the server.

[0093] In the above, when the smart compatibility library is updated according to the determined abnormal reason, the server can directly store the determined abnormal reason into the smart compatibility library to update the smart compatibility library. In addition, the server can also determine an adjustment strategy corresponding to the determined abnormal reason according to the determined abnormal reason, and directly store the determined abnormal reason and the adjustment strategy into the smart compatibility library to update the smart compatibility library. When the adjustment strategy corresponding to the determined abnormal reason is determined according to the determined abnormal reason, the server can input the determined abnormal reason into a pre-trained strategy generation model to determine the adjustment strategy corresponding to the abnormal reason. The strategy generation model can be a machine learning model pre-trained by the server, or can be any existing strategy generation model, which is not limited in the present specification. Of course, the server can also determine the adjustment strategy corresponding to the determined abnormal reason according to a pre-set strategy generation algorithm. The strategy generation algorithm can be pre-set by the server, or can be any existing strategy generation algorithm, which is not limited in the present specification. In addition, the server can also display the determined abnormal reason to the user to enable the user to determine the adjustment strategy corresponding to the abnormal reason and upload it to the server.

[0094] In the present specification, when the abnormal reason of the historical application corresponding to the application type does not exist in the smart compatibility library in the above step S104, the server can directly run the to-be-run application. During the running of the to-be-run application, the running state corresponding to the to-be-run application is monitored in real time. When the running state of the to-be-run application is an abnormal state, the abnormal log corresponding to the to-be-run application is determined. According to the abnormal log of the to-be-run application, the abnormal reason corresponding to the to-be-run application is determined. According to the abnormal reason of the to-be-run application, the adjustment strategy corresponding to the abnormal reason of the to-be-run application is generated. The abnormal reason of the to-be-run application and the generated adjustment strategy are stored into the smart compatibility library. The specific process is similar to the process of monitoring the running state of the target application, determining the abnormal log of the target application, determining the abnormal reason of the target application, and adjusting the strategy, which will not be described here.

[0095] In the present specification, when the abnormal reason corresponding to the shared object library does not exist in the to-be-run application determined in the above step 104, the server can also directly run the to-be-run application in the above step S106. During the running of the to-be-run application, the running state corresponding to the to-be-run application is monitored in real time. When the running state of the to-be-run application is an abnormal state, the abnormal log corresponding to the to-be-run application is determined. According to the abnormal log of the to-be-run application, the abnormal reason corresponding to the to-be-run application is determined. According to the abnormal reason of the to-be-run application, the adjustment strategy corresponding to the abnormal reason of the to-be-run application is generated. The abnormal reason of the to-be-run application and the generated adjustment strategy are stored into the smart compatibility library.

[0096] In the specification, the intelligent compatibility library is a dynamically updated intelligent compatibility library, and the application type, the exception cause and the adjustment strategy included in the intelligent compatibility library can be dynamically updated for subsequent use when the application is run on the simulator, so as to reduce the application crash and function exception of the application running in the simulator environment, and improve the stability of the application running in the simulator environment.

[0097] The above is a method of one or more embodiments of the present specification. Based on the same idea, the present specification also provides a corresponding application running device, as shown in Figure 2

[0098] Figure 2 A schematic diagram of an application running device provided by the present specification includes:

[0099] The first determination module 200 is configured to determine the current running environment of the to-be-run application in response to a start operation of a user;

[0100] The second determination module 202 is configured to determine the application type corresponding to the to-be-run application when the running environment is the target environment;

[0101] The third determination module 204 is configured to determine the exception cause of the historical application corresponding to the application type from the pre-set intelligent compatibility library;

[0102] The analysis module 206 is configured to analyze the to-be-run application according to the exception cause, and determine the analysis result of the shared object library in the to-be-run application;

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

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

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

[0106] The second determination module 202 is specifically configured to determine the environment parameter corresponding to the running environment as a first parameter, and determine the parameter of the running environment of the pre-set simulator as a target parameter; when the first parameter is consistent with the target parameter, it is determined that the running environment is the target environment, and the application type corresponding to the to-be-run application is determined.

[0107] Optionally, the intelligent compatibility library includes a plurality of exception causes of the historical application corresponding to each application type in history, and the exception cause is an exception cause of the shared object library in the historical application.​

[0108] The analysis module 206 is specifically configured to determine the code corresponding to the shared object library in the to-be-run application; determine, for each exception cause, whether the code has the exception cause; if yes, take the exception cause as the analysis result corresponding to the shared object library in the to-be-run application; and if no, do not take the exception cause as the analysis result corresponding to the shared object library in the to-be-run application.

[0109] Optionally, the intelligent compatibility library further includes an adjustment strategy corresponding to each exception cause.

[0110] The adjustment module 208 is specifically configured to determine the exception cause included in the analysis result as a target cause; determine, from the adjustment strategies included in the intelligent compatibility library, an adjustment strategy corresponding to the target cause as a target strategy; and adjust the to-be-adjusted target according to the target strategy.

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

[0112] Optionally, the apparatus further includes:

[0113] The updating module 212 is configured to monitor, in real time, a running state of the target application during running of the target application; determine an exception log corresponding to the target application when the running state of the target application is an exception state; determine an exception cause corresponding to the target application according to the exception log of the target application; and update the intelligent compatibility library according to the determined exception cause.

[0114] Optionally, the updating module 212 is further configured to run the to-be-run application when the exception cause of the historical application corresponding to the application type does not exist in the intelligent compatibility library; monitor, in real time, a running state corresponding to the to-be-run application during running of the to-be-run application; determine an exception log corresponding to the to-be-run application when the running state of the to-be-run application is an exception state; determine an exception cause corresponding to the to-be-run application according to the exception log of the to-be-run application; generate an adjustment strategy corresponding to the exception cause of the to-be-run application according to the exception cause of the to-be-run application; and store the exception cause of the to-be-run application and the generated adjustment strategy into the intelligent compatibility library.

[0115] The specification also provides a computer-readable storage medium storing a computer program, the computer program being used to execute the above Figure 1 Provided is a method for running an application.

[0116] This instruction manual also provides Figure 3 One of the corresponding Figure 1 A schematic diagram of the structure of an electronic device. (e.g.) Figure 3 As shown, at the hardware level, this electronic device includes a processor, internal bus, network interface, memory, and non-volatile memory, and may also include other hardware required for business operations. The processor reads the corresponding computer program from the non-volatile memory into memory and then runs it to achieve the above. Figure 1 The 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 hardware and software. In other words, the execution subject of the following processing flow is not limited to each logic unit, but can also be hardware or logic devices.

[0118] In the 1990s, it was quite obvious to distinguish whether an improvement in a technology was in hardware (e.g., improvement in circuit structures of diodes, transistors, switches, etc.) or in software (improvement in method flow). However, as technology has evolved, many improvements in method flow today can be considered as direct improvements in hardware circuit structures. Designers almost always obtain the corresponding hardware circuit structures by programming the improved method flow into hardware circuits. Therefore, it cannot be said that an improvement in a method flow cannot be implemented by hardware entity modules. For example, a programmable logic device (PLD) (e.g., a field programmable gate array (FPGA)) is an integrated circuit whose logic function is determined by user programming of the device. A digital system is "integrated" on a PLD by the designer programming it, rather than by asking a chip manufacturer to design and fabricate a custom integrated circuit chip. Moreover, instead of manually fabricating integrated circuit chips, this programming is now mostly implemented by "logic compiler" software, which is similar to software compilers used in program development, and the original code to be compiled is written in a specific programming language, which is called a hardware description language (HDL), and there are many such languages, 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., and the most commonly used are VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should be aware that, as long as the method flow is logically programmed in the above-mentioned hardware description languages and programmed into an integrated circuit, a hardware circuit implementing the logical method flow can be easily obtained.

[0119] The controller can be implemented in any suitable way, for example, the controller can take the form of a microprocessor or processor and a computer readable medium storing computer readable program code, such as software or firmware, executable by the (micro)processor, logic gates, switches, an application specific integrated circuit (ASIC), a programmable logic controller and an embedded microcontroller, examples of which include but are not limited to the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20 and Silicone Labs C8051F320, the memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art will also know that, in addition to being implemented in pure computer readable program code, the controller can equally well be implemented to perform the same functions using logic gates, switches, an application specific integrated circuit, a programmable logic controller and an embedded microcontroller, etc. by means of a logical programming of the method steps. The controller can thus be considered as a hardware component, and the means comprised therein for performing the various functions can be considered as structures within the hardware component. Alternatively, the means for performing the various functions can even be considered as both a software module implementing the method and a structure within the hardware component.

[0120] The systems, apparatuses, modules or units illustrated by the above embodiments can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, the computer can be 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 sake of description, the above apparatuses are described in various units with functions respectively. Of course, the functions of the units can be implemented in one or more software and / or hardware in implementing the present specification.

[0122] Those skilled in the art will understand that the embodiments of the present specification can be provided as a method, a system or a computer program product. Therefore, the present specification can take the form of a complete hardware embodiment, a complete software embodiment or an embodiment combining software and hardware aspects. Moreover, the present specification can take the form of a computer program product implemented on one or more computer usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) containing computer usable program code.

[0123] The specification is presented with reference to flow diagrams and / or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the specification. It will be understood that each block of the flow diagrams and / or block diagrams, and combinations of blocks in the flow diagrams and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, embedded processing element or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flow diagrams and / or block diagrams block or blocks. Figure 1 The flow diagrams and / or block diagrams in the specification can present a method, apparatus or computer program product according to embodiments of the specification. Although the flow diagrams and / or block diagrams can present a method, apparatus or computer program product according to embodiments of the specification, it can be understood that each block in the flow diagrams and / or block diagrams and combinations of blocks in the flow diagrams and / or block diagrams can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, embedded processing element or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flow diagrams and / or block diagrams block or blocks. Figure 1 The flow diagrams and / or block diagrams in the specification can present a method, apparatus or computer program product according to embodiments of the specification. Although the flow diagrams and / or block diagrams can present a method, apparatus or computer program product according to embodiments of the specification, it can be understood that each block in the flow diagrams and / or block diagrams and combinations of blocks in the flow diagrams and / or block diagrams can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, embedded processing element or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flow diagrams and / or block diagrams block or blocks.

[0124] These computer program instructions can also be loaded into a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flow diagrams and / or block diagrams block or blocks. Figure 1 The flow diagrams and / or block diagrams in the specification can present a method, apparatus or computer program product according to embodiments of the specification. Although the flow diagrams and / or block diagrams can present a method, apparatus or computer program product according to embodiments of the specification, it can be understood that each block in the flow diagrams and / or block diagrams and combinations of blocks in the flow diagrams and / or block diagrams can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, embedded processing element or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flow diagrams and / or block diagrams block or blocks. Figure 1 The flow diagrams and / or block diagrams in the specification can present a method, apparatus or computer program product according to embodiments of the specification. Although the flow diagrams and / or block diagrams can present a method, apparatus or computer program product according to embodiments of the specification, it can be understood that each block in the flow diagrams and / or block diagrams and combinations of blocks in the flow diagrams and / or block diagrams can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, embedded processing element or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flow diagrams and / or block diagrams block or blocks.

[0125] These computer program instructions can also be loaded into a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flow diagrams and / or block diagrams block or blocks. Figure 1 The flow diagrams and / or block diagrams in the specification can present a method, apparatus or computer program product according to embodiments of the specification. Although the flow diagrams and / or block diagrams can present a method, apparatus or computer program product according to embodiments of the specification, it can be understood that each block in the flow diagrams and / or block diagrams and combinations of blocks in the flow diagrams and / or block diagrams can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, embedded processing element or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flow diagrams and / or block diagrams block or blocks. ​ The flow diagrams and / or block diagrams in the specification can present a method, apparatus or computer program product according to embodiments of the specification. Although the flow diagrams and / or block diagrams can present a method, apparatus or computer program product according to embodiments of the specification, it can be understood that each block in the flow diagrams and / or block diagrams and combinations of blocks in the flow diagrams and / or block diagrams can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, embedded processing element or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flow diagrams and / or block diagrams block or blocks.

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

[0127] The memory can include non-persistent memory and / or volatile memory, such as random access memory (RAM) for example. Mass storage can include, in examples, EEPROM, flash memory or other non-volatile memory. The memory is an example of computer readable media.

[0128] Computer-readable media includes permanent and non-permanent, movable and non-movable media that can be implemented by any method or technology to store information. The 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 technologies, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassette, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information accessible to a computing device. According to the definition herein, computer-readable media does not include transitory media such as modulated data signals and carriers.

[0129] It should also be noted that the terms "comprising", "containing", or any other variant thereof are intended to cover non-exclusive inclusion, such that a process, method, article or apparatus that comprises a list of elements does not only include those elements, but can also include other elements not expressly listed or inherent to such process, method, article or apparatus. Without more limitations, the element defined by the statement "comprising a" does not exclude the presence of additional identical elements in the process, method, article or apparatus that includes the element.

[0130] Those skilled in the art will appreciate that embodiments of the present specification can be provided as methods, systems or computer program products. Therefore, the present specification can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Moreover, the present specification can take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, magnetic disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0131] The present specification can be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The present specification can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are connected through a communication network. In a distributed computing environment, program modules can be located in both local and remote computer storage media including storage devices.

[0132] The various embodiments described in this specification are described using a numbering of embodiments approach: these are each individually integrated contributions pertaining to different aspects of the description. For each embodiment, the description focuses on the differences from the other embodiments. In particular, the description of the system embodiments is relatively brief, as the system embodiments are largely analogous to the method embodiments. The relevant parts of the description of the method embodiments are therefore referred to.

[0133] The above only describes the embodiments of the present specification and is not intended to limit the present specification. The present specification can have various modifications and changes for those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present specification shall be included in the scope of claims of the present specification.

Claims

1. A method of application execution, characterized by, The method comprises the following steps: In response to a starting operation of a user, a current running environment of an application to be run is determined; When the running environment is a target environment, an application type corresponding to the application to be run is determined; From a pre-set intelligent compatibility library, an abnormal reason of a historical application corresponding to the application type in history is determined; According to the abnormal reason, the application to be run is analyzed to determine an analysis result corresponding to a shared object library in the application to be run; According to the analysis result, a target to be adjusted is 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, a target application is determined and run; The target environment is an environment corresponding to an emulator; When the running environment is the target environment, the application type corresponding to the application to be run is determined, specifically including: The environment parameters corresponding to the running environment are determined as first parameters, and the parameters of the running environment corresponding to the pre-set emulator are determined as target parameters; When the first parameters are consistent with the target parameters, it is determined that the running environment is the target environment, and the application type corresponding to the application to be run is determined.

2. The method of claim 1, wherein, The intelligent compatibility library includes a plurality of abnormal reasons of a historical application corresponding to each application type in history, and the abnormal reason is an abnormal reason corresponding to a shared object library in the historical application; According to the abnormal reason, the application to be run is analyzed to determine an analysis result corresponding to a shared object library in the application to be run, specifically including: The code corresponding to the shared object library in the application to be run is determined; For each abnormal reason, it is judged whether the code exists the abnormal reason; If yes, the abnormal reason is taken as the analysis result corresponding to the shared object library in the application to be run; If no, the abnormal reason is not taken as the analysis result corresponding to the shared object library in the application to be run.

3. The method of claim 2, wherein, The intelligent compatibility library further includes an adjustment strategy corresponding to each abnormal reason; According to the analysis result, the target to be adjusted is adjusted, specifically including: The abnormal reason included in the analysis result is determined as a target reason; From the adjustment strategies included in the intelligent compatibility library, the adjustment strategy corresponding to the target reason is determined as a target strategy; According to the target strategy, the target to be adjusted is adjusted.

4. The method of claim 3, wherein, According to the target strategy, the target to be adjusted is adjusted, specifically including: According to the target strategy, strategy recommendation information is generated; The strategy recommendation information is displayed to the user; In response to the adjustment operation of the user, the adjusted target to be adjusted is determined.

5. The method of claim 1, wherein, The method further comprises: In the running process of the target application, the running state of the target application is monitored in real time; When the running state of the target application is an abnormal state, an abnormal log corresponding to the target application is determined; According to the abnormal log of the target application, an abnormal reason corresponding to the target application is determined; According to the determined abnormal reason, the intelligent compatibility library is updated.

6. The method of claim 1, wherein, The method further comprises: When the abnormal reason of the historical application corresponding to the application type does not exist in the intelligent compatibility library, the application to be run is run. In a running process of the to-be-run application, a running state corresponding to the to-be-run application is monitored in real time; When the running state of the to-be-run application is an abnormal state, an abnormal log corresponding to the to-be-run application is determined; According to the abnormal log of the to-be-run application, an abnormal reason corresponding to the to-be-run application is determined; According to the abnormal reason of the to-be-run application, an adjustment strategy corresponding to the abnormal reason of the to-be-run application is generated; The abnormal reason of the to-be-run application and the generated adjustment strategy are stored into the intelligent compatibility library.

7. An apparatus running an application, the apparatus comprising: Comprise: A first determining module is configured to determine a current running environment of a to-be-run application in response to a starting operation of a user; A second determining module is configured to determine an application type corresponding to the to-be-run application when the running environment is a target environment; The target environment is an environment corresponding to an emulator; the second determining module is further configured to determine an environment parameter corresponding to the running environment as a first parameter, and determine a parameter of a running environment of the emulator pre-set as a target parameter; When the first parameter is consistent with the target parameter, it is determined that the running environment is the target environment, and the application type corresponding to the to-be-run application is determined; A third determining module is configured to determine an abnormal reason of a historical application corresponding to the application type from an intelligent compatibility library pre-set; An analysis module is configured to analyze the to-be-run application according to the abnormal reason, and determine an analysis result of a shared object library corresponding to the to-be-run application; An adjustment module is configured to adjust a to-be-adjusted target according to the analysis result; wherein the to-be-adjusted target is at least one of the to-be-run application and the running environment; A running module is configured to determine a target application based on the adjusted to-be-adjusted target, and run the target application.

8. A computer-readable storage medium, characterized in that, The storage medium stores a computer program, and the computer program is executed by the processor to implement the method in any one of claims 1-6.

9. An electronic device comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, characterized in that, The processor executes the program to implement the method in any one of claims 1-6.

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