CN110737589A - automatic point burying method, device, medium and electronic equipment - Google Patents

automatic point burying method, device, medium and electronic equipment Download PDF

Info

Publication number
CN110737589A
CN110737589A CN201910854016.1A CN201910854016A CN110737589A CN 110737589 A CN110737589 A CN 110737589A CN 201910854016 A CN201910854016 A CN 201910854016A CN 110737589 A CN110737589 A CN 110737589A
Authority
CN
China
Prior art keywords
point
code
injection
buried
injection point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910854016.1A
Other languages
Chinese (zh)
Inventor
刘丰恺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing ByteDance Network Technology Co Ltd
Original Assignee
Beijing ByteDance Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN201910854016.1A priority Critical patent/CN110737589A/en
Publication of CN110737589A publication Critical patent/CN110737589A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/73Program documentation

Abstract

The invention provides automatic point burying methods, devices, media and electronic equipment, wherein the automatic point burying methods comprise the steps of obtaining injection point information of a buried point marked by an injector, identifying the injection point according to the injection point information, conducting point burying processing on a source code applied to a network at the injection point through a tool moving a UI frame to generate a mixed byte code, and generating a compiled code according to the mixed byte code.

Description

automatic point burying method, device, medium and electronic equipment
Technical Field
The invention relates to the technical field of computers, in particular to an automatic point burying method, device, medium and electronic equipment.
Background
The method comprises the steps that with the continuous development of a mobile application development technology, more and more mobile application development frameworks are provided, wherein the mobile application development framework is provided and sourced by Google, a main development cross-platform, high fidelity and high performance are provided, a developer can develop App through a Dart language, sets of codes run on an iOS platform and an Android platform simultaneously, the Flutter provides rich components and interfaces, and the developer can quickly add native extension to the Flutter.
Existing AOP (Aspect Oriented Programming, translated as Aspect Oriented Programming, view Oriented Programming, profile Oriented Programming) AOP is terms in computer science that refer to Programming paradigms.
In the existing embedded point and display technology, pieces of information are collected by a specific process in an application and are used for tracking the use condition of the application, and then used for optimizing products in step or providing data support for operation, including access number, visitor number, dwell time, page browsing number and jump rate.
Therefore, in the long-term research and development, the inventors have conducted a lot of research on how to automatically bury the points, and proposed methods for automatically burying the points to solve of the above technical problems.
Disclosure of Invention
The invention aims to provide automatic point burying methods, devices, media and electronic equipment, which can solve at least technical problems mentioned above.
According to an embodiment of the present invention, in , the present invention provides methods for automatically burying points, comprising:
acquiring injection point information of a buried point marked by an injection device, identifying the injection point according to the injection point information, and identifying the injection point;
performing embedding point processing on the source code of the network application at the injection point through a tool for moving a UI frame to generate a mixed byte code;
and generating a compiled code according to the mixed byte code and a preset compiling rule.
Optionally, before the instrumentation moving the UI framework performs the embedded processing on the source code of the web application at the injection point, the method further includes:
and preprocessing the tool to be processed of the mobile UI frame by using an AspectD tool to obtain the tool for moving the UI frame.
Optionally, the performing, at the injection point, embedded processing on the source code of the network application by the tool for moving the UI framework, and generating the hybrid bytecode includes:
generating a buried point code through a code generator according to the buried point logic of the injection point;
inserting, by a tool that moves a UI framework, a buried point code into the source code of a web application at the injection point, generating the hybrid bytecode.
Optionally, before the inserting, by the tool for moving the UI framework, the buried point code generated by the code generator into the source code of the web application at the injection point, the method further includes:
and acquiring the buried point logic of the injection point, and generating a buried point code through a code generator according to the buried point logic of the injection point.
Optionally, after generating the hybrid bytecode, the method further includes:
reading hybrid bytecode information associated with the hybrid bytecode;
wherein the mixed bytecode information includes at least:
the embedded point logic corresponding to the injection point, the embedded point method corresponding to the injection point, the embedded point code generated by the code generator and the source code of the network application.
Optionally, after generating the compiled code according to the hybrid bytecode, the method further includes:
and generating an executable program according to the compiled code, and operating the executable program.
Optionally, before the obtaining of the injection point information of the buried point labeled by the annotator, the method further includes:
acquiring buried point information of a buried point request aiming at target data, and reading the buried point information;
wherein the buried point information includes at least the following items:
the method comprises the following steps of embedding the name of a point, a character form corresponding to the name of the point, a page path of the point, a character form corresponding to the page path of the point, the retention time of the point and a preset unit time corresponding to the retention time of the point.
According to a second aspect, the present invention provides kinds of automatic pointing devices, including:
the acquisition unit is used for acquiring the injection point information of the buried point marked by the annotator;
the identification unit is used for identifying the injection point according to the injection point information acquired by the acquisition unit and identifying the injection point;
a embedding unit, configured to perform embedding processing on the source code of the network application at the injection point identified by the identifying unit through a tool that moves a UI framework, and generate a hybrid bytecode;
and the compiling unit is used for generating a compiled code according to the mixed byte code generated by the buried point unit and a preset compiling rule.
According to a third aspect, the present invention provides computer readable storage media having stored thereon a computer program which, when executed by a processor, implements the method for automatically embedding points as described in any of above.
According to a fourth aspect of the present invention, there is provided electronic devices including or more processors, and a storage device for storing or more programs, wherein when the or more programs are executed by the or more processors, the or more processors implement the method for automatically burying a point as described in any above.
Compared with the prior art, the scheme of the embodiment of the invention has the beneficial effects that automatic point burying methods, devices, media and electronic equipment are used, the source codes of network application are buried and processed at the injection point through a tool of a mobile UI frame to generate mixed byte codes, and the compiled codes are generated according to the mixed byte codes.
Drawings
The accompanying drawings, which are incorporated herein and constitute part of this specification, illustrate embodiments consistent with the present invention and, together with description , serve to explain the principles of the invention, it is to be understood that the drawings in the following description are illustrative of embodiments of the invention, and that other drawings may be devised by those skilled in the art without the benefit of the teachings herein, and in which:
FIG. 1 illustrates a flow diagram of a method for automatically burying a point, according to an embodiment of the present invention;
FIG. 2 illustrates a flow diagram of a method for automatic point burying in a specific application scenario, in accordance with an embodiment of the present invention;
FIG. 3 shows a schematic diagram of an apparatus for automatically burying a point according to an embodiment of the present invention;
fig. 4 shows a schematic diagram of an electronic device connection structure according to an embodiment of the invention.
Detailed Description
For purposes of clarity, technical solutions and advantages of the present invention, the present invention will be described in further detail with reference to the accompanying drawings , and it is obvious that the described embodiment is only a partial embodiment of the , rather than a complete embodiment.
As used in this specification and the appended claims, the singular forms "", "the" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise, the "plural" includes at least two.
It should be understood that the term "and/or" is used herein only to describe kinds of association relationships that describe association objects, meaning that there may be three kinds of relationships, for example, a and/or B, and may mean that there are three cases of a alone, a and B together, and B alone.
It should be understood that although the terms , second, third, etc. may be used in embodiments of the present invention to describe … …, these … … should not be limited to these terms.
The words "if", as used herein, may be interpreted as "at … …" or "at … …" or "in response to a determination" or "in response to a detection", depending on the context. Similarly, the phrases "if determined" or "if detected (a stated condition or event)" may be interpreted as "when determined" or "in response to a determination" or "when detected (a stated condition or event)" or "in response to a detection (a stated condition or event)", depending on the context.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a good or apparatus that comprises an series of elements does not include only those elements but may include other elements not expressly listed or inherent to such good or apparatus.
Alternative embodiments of the present invention are described in detail below with reference to the accompanying drawings.
Example 1
According to an embodiment of the present invention, as shown in fig. 1, in th aspect, the present invention provides methods for automatically burying points, which specifically includes the following steps:
s102: and acquiring the injection point information of the buried point marked by the injection device, identifying the injection point according to the injection point information, and identifying the injection point.
In this step, the annotator is written in the function. The annotator is used for marking the injection point information of the buried points, and provides corresponding buried point logic and a buried point method for different injection points.
Under a specific application scene, the annotation of the injection point information of the buried point by the annotator comprises the following steps:
and the annotating device is used for annotating the injection point information of the buried point through Meta-Data.
The above-mentioned methods for marking the injection point information of the buried point by only listing annotators may also be other methods for marking the injection point information of the buried point, which are not described in detail in .
S104: and performing embedded point processing on the source code of the network application at the injection point through a tool for moving the UI framework to generate the mixed byte code.
In this step, the preprocessed tool for moving the UI framework can perform the embedded point processing on the code input, that is, identify the injection points therein, and then insert the corresponding embedded point logic and method at the injection points, so that the finally generated bytecode includes not only the original program logic but also the insertion logic corresponding to the injection points.
In this step, after the hybrid bytecode is generated, hybrid bytecode information associated with the hybrid bytecode is read;
wherein the mixed bytecode information includes at least:
the method comprises the steps of filling point corresponding buried point logic, filling point corresponding buried point methods, buried point codes generated by a code generator and source codes of network application.
In this step, a buried point code is generated by the code generator. A common code generator is the Codegen code generator.
It should be noted that Codegen is code generation tools, and aims to reduce the writing of template codes and improve the development efficiency.
S106: and generating a compiled code according to the mixed byte code and a preset compiling rule.
In this step, different preset compiling rules may be preset according to different application scenarios, so that a compiled code is generated according to the mixed bytecode and the preset compiling rules.
In this step, the compiled code includes AOP injection scheme information, which includes not only an AOP injection point, a buried point logic corresponding to the AOP injection point, and a buried point method corresponding to the AOP injection point.
Optionally, before the source code of the network application is processed at the injection point by the tool of the mobile UI framework in a buried manner, the method further includes: and preprocessing the tool to be processed of the mobile UI frame by using an AspectD tool to obtain the tool for moving the UI frame.
The preprocessing process of the tool to be processed of the mobile UI framework by the AspectD tool comprises the following steps: the pending tool (e.g., Flutter Tools) of the mobile UI framework is patched by the AspectD tool.
Patch processing refers to performing Patch processing.
In this step, Flutter prunes the mirrors reflection library support of Dart, so it is difficult to use the tool with more runtime support directly in Dart. AspectD supports the function of AOP on the premise of non-invasion of the Flutter frame through patch support of the Flutter Tools.
It should be noted that Flutter is a google's mobile UI framework that can quickly build high-quality native user interfaces on iOS and Android Flutter can work with existing code Flutter is being used by an increasing number of developers and organizations worldwide, and Flutter is completely free, open-source.
Flutter has the following advantages:
and (3) rapid development: the hot reload of Flutter may help the user to quickly test, build UIs, add functionality, and fix errors more quickly. The overload can be carried out in the sub-second on the iOS simulator and the Android simulator or the real machine, and the state can not be lost.
Expressive and beautiful user interface: the method uses the Flutter to embed beautiful Material Design and Cupertino (iOS style) widget, rich motion API, smooth and natural sliding effect and platform perception, and brings brand new experience for users.
The use of powerful and flexible APIs (for 2D, animation, gestures, effects, etc.) solves difficult UI challenges.
Access local function and SDK: the application of the user is made to be powerful and easy to use through the API relevant to the platform, the SDK of the third party and the native code. Flutter allows users to reuse existing Java, Swift or ObjC code, accessing native system functions and system SDKs on iOS and Android.
According to the application development experience of the system , the Flutter has rich tools and libraries and can help a user to easily realize the idea and the creative idea of the user in the iOS and the Android system at the same time.
Note that AspectD is AOP framework facing Dart.
Whether the AOP capability is runtime or compile-time support depends on the features of the language itself. For example, in iOS, Objective C itself provides powerful runtime and dynamics such that runtime AOP is simple and easy to use. Under Android, the characteristics of Java language can realize not only a compile-time static agent based on bytecode modification like AspectJ, but also a runtime-enhanced run-time dynamic agent based on Spring AOP.
Dart has the drawback that has very weak reflection support from Dart, only checks are supported, no modification is supported, and secondly Flutter disables reflections for reasons of packet size, robustness, etc.
Therefore, an AOP scheme based on compile-time modification was devised: AspectD.
In AspectJ, this process is implemented by Ajc of a non-standard Java compiler in AspectD, support for AspectD may be implemented by applying Patch to flutter _ tools.
Based on AspectD, all invasive codes for the Flatter framework are removed, the same functions as those of invasive codes are achieved, and stable and reliable operation of record playback and automatic regression of hundreds of scripts is supported.
From aspect view, Call/Execute can help users to conveniently realize functions such as performance burying point (Call duration of key method), log enhancement (obtaining detailed information of where a certain method is called specifically), Doom recording playback (such as generation recording and playback of random number sequence), and the like. The project syntax is more powerful, can implement free injection of logic in a manner similar to source code, and can support complex scenarios such as App recording and automated regression (e.g., recording and playback of user touch events).
Further , AspectD's principle is based on Dill transformation, with sharp machine of Dill operation, developer can freely operate on Dart compiled product, and the transformation is oriented to AST object of near source code level, which is not only powerful but also reliable, no matter logic replacement, model conversion, etc., all provide new perspectives and possibilities.
In the software industry, AOP (Aspect organized Programming) is technologies maintained by a system which realizes program functions through a precompilation mode and a running period dynamic proxy, wherein the AOP is the continuation of OOP, is hot spots in software development, is important contents in a Spring framework, and is derivative normal forms of functional Programming, and the AOP can be used for isolating all parts of business logic, so that the coupling degree between all parts of the business logic is reduced, the reusability of a program is improved, and the development efficiency is improved.
AOP is programmed by isolating certain functions from batch objects, thus reducing coupling with batch objects and programming certain functions.
Optionally, performing a buried point processing on the source code of the network application at the injection point by using a tool for moving the UI framework, and generating the hybrid bytecode includes:
generating a buried point code through a code generator according to the buried point logic of the injection point;
and inserting the buried point code into the source code of the network application at an injection point through a tool for moving the UI framework to generate the mixed bytecode.
Optionally, before inserting the buried point code generated by the code generator into the source code of the web application at the injection point by the tool of the mobile UI framework, the method further includes: and acquiring the buried point logic of the injection point, and generating a buried point code through a code generator according to the buried point logic of the injection point.
Optionally, after generating the hybrid bytecode, the method further includes: reading hybrid bytecode information associated with the hybrid bytecode;
wherein the mixed bytecode information includes at least:
the method comprises the steps of filling point corresponding buried point logic, filling point corresponding buried point methods, buried point codes generated by a code generator and source codes of network application.
Optionally, after generating the compiled code according to the hybrid bytecode, the method further includes: and generating an executable program according to the compiled code, and running the executable program.
Optionally, before obtaining the injection point information of the buried point labeled by the injector, the method further includes:
acquiring buried point information of a buried point request aiming at target data, and reading the buried point information, wherein the buried point information at least comprises the following items:
the method comprises the following steps of embedding the characters of the points, wherein the characters correspond to the names of the embedded points, the page paths of the embedded points, the characters correspond to the page paths of the embedded points, the dwell time of the embedded points and the preset unit time corresponding to the dwell time of the embedded points.
In this step, the buried point information of the buried point request for the target data includes not only the name of the buried point but also a character form corresponding to the name of the buried point, or further includes a page path of the buried point, or further includes a character form corresponding to the page path of the buried point, or further includes a dwell time of the buried point, or further includes a preset unit time corresponding to the dwell time of the buried point.
For example, in a specific application scenario of page dwell time buried points, the buried point information corresponding to the buried point at least includes the following information:
name of the buried point: a character form;
page path of buried point: a character form;
residence time of buried point: time in milliseconds;
the dwell time of the buried point is automatically generated according to the information of the annotator, the time stamp of the buried point information of the buried point calling stack entering the page is automatically taken, and the difference value of the time stamp of the current page leaving time is automatically calculated.
In this step, the buried point is used to collect information from the specific processes in the application for tracking the application usage status, and then to optimize the product or provide the data support for operation including access number, visitor number, stay time, page browsing number and jump-out rate in step , so that the information collection can be roughly divided into two kinds, i.e. page statistics and statistical operation behavior.
As shown in fig. 2, a flow chart of a method for automatic point burying in a specific application scenario is shown according to an embodiment of the present invention.
The automatic point burying method shown in fig. 2 specifically includes the following steps:
s202: marking out an injection point through an annotator;
in this step, the annotator is written in the function. The annotator is used for marking the injection point information of the buried points, and provides corresponding buried point logic and a buried point method for different injection points.
Under a specific application scene, the annotator marks the information of the injection points of the buried points, and the step of marking the injection points comprises the following steps:
and the annotating device is used for annotating the injection point information of the buried point through the Meta-Data and marking the injection point.
The above-mentioned methods for marking the injection point information of the buried point by only listing annotators and marking the injection point may also be methods for marking the injection point information of the buried point by other methods, and are not described in detail in .
S204: and (5) carrying out buried point processing by a tool for moving the UI framework.
In this step, the preprocessed tool for moving the UI framework can perform the embedded point processing on the code input, that is, identify the injection points therein, and then insert the corresponding embedded point logic and method at the injection points, so that the finally generated bytecode includes not only the original program logic but also the insertion logic corresponding to the injection points.
S206: generating a hybrid bytecode.
In this step, after the hybrid bytecode is generated, hybrid bytecode information associated with the hybrid bytecode is read;
wherein the mixed bytecode information includes at least:
the method comprises the steps of filling point corresponding buried point logic, filling point corresponding buried point methods, buried point codes generated by a code generator and source codes of network application.
S208: and running the executable program generated by the compiled code.
In this step, a compiled code is generated according to the mixed bytecode and a preset compiling rule, and an executable program generated by the compiled code is executed.
Different preset compiling rules are preset according to different application scenes, and therefore compiled codes are generated according to the mixed byte codes and the preset compiling rules.
In this step, the compiled code includes AOP injection scheme information, which includes not only an AOP injection point, a buried point logic corresponding to the AOP injection point, and a buried point method corresponding to the AOP injection point.
The method for automatically embedding the points can support the Flutter meta-information embedding function of Android and iOS dual platforms, and has no invasion to the compiling process of the Flutter and strong expansibility.
Example 2
As shown in fig. 3, according to a second aspect, the present invention provides kinds of automatic spot burying devices, comprising:
an obtaining unit 302, configured to obtain injection point information of a buried point labeled by an annotator;
the identification unit 304 is configured to identify the injection point according to the injection point information acquired by the acquisition unit 302, and identify the injection point;
a embedding unit 306, configured to perform embedding processing on the source code of the network application at the injection point identified by the identifying unit 304 through a tool of the mobile UI framework, and generate a hybrid bytecode;
and a compiling unit 308, configured to generate a compiled code according to the mixed bytecode generated by the buried point unit 306 and a preset compiling rule.
Optionally, the apparatus further comprises:
and a preprocessing unit (not shown in fig. 3) for the burying unit 306 preprocessing the tool to be processed of the mobile UI framework by the AspectD tool before burying the source code of the web application at the injection point by the tool of the mobile UI framework, to obtain the tool of the mobile UI framework.
Optionally, the buried point unit 306 is specifically configured to:
generating a buried point code through a code generator according to the buried point logic of the injection point;
and inserting the buried point code into the source code of the network application at an injection point through a tool for moving the UI framework to generate the mixed bytecode.
Optionally, the obtaining unit 302 is further configured to:
before the buried point unit 306 inserts the buried point code generated by the code generator into the source code of the network application at the injection point through a tool of the mobile UI framework, acquiring the buried point logic of the injection point;
optionally, the apparatus further comprises:
and a code generating unit (not shown in fig. 3) configured to generate a buried point code by the code generator according to the buried point logic of the injection point acquired by the acquiring unit 302.
Optionally, the apparatus further comprises:
a reading unit (not shown in fig. 3) for reading the hybrid bytecode information associated with the hybrid bytecode after the buried point unit 306 generates the hybrid bytecode;
the mixed bytecode information read by the reading unit at least includes:
the method comprises the steps of filling point corresponding buried point logic, filling point corresponding buried point methods, buried point codes generated by a code generator and source codes of network application.
Optionally, the apparatus further comprises:
a program generating unit (not shown in fig. 3) for generating an executable program from the compiled code after the compiling unit 308 generates the compiled code from the mixed bytecode;
a program executing unit (not shown in fig. 3) for executing the executable program generated by the program generating unit.
Optionally, the obtaining unit 302 is further configured to: acquiring buried point information of a buried point requested by the buried point aiming at target data before acquiring injection point information of the buried point marked by an injector;
the reading unit is further configured to: reading buried point information;
the buried point information read by the reading unit at least includes the following items:
the method comprises the following steps of embedding the characters of the points, wherein the characters correspond to the names of the embedded points, the page paths of the embedded points, the characters correspond to the page paths of the embedded points, the dwell time of the embedded points and the preset unit time corresponding to the dwell time of the embedded points.
It should be noted that the buried point information of the buried point request for the target data includes not only the name of the buried point, but also a character form corresponding to the name of the buried point, or further includes a page path of the buried point, or further includes a character form corresponding to the page path of the buried point, or further includes a retention time of the buried point, or further includes a preset unit time corresponding to the retention time of the buried point.
For example, in a specific application scenario of page dwell time buried points, the buried point information corresponding to the buried point at least includes the following information:
name of the buried point: a character form;
page path of buried point: a character form;
residence time of buried point: time in milliseconds;
the dwell time of the buried point is automatically generated according to the information of the annotator, the time stamp of the buried point information of the buried point calling stack entering the page is automatically taken, and the difference value of the time stamp of the current page leaving time is automatically calculated.
The method for automatically embedding the points can support the Flutter meta-information embedding function of Android and iOS dual platforms, and has no invasion to the compiling process of the Flutter and strong expansibility.
Example 3
As shown in fig. 4, the present embodiment provides electronic devices for use in a method for automatically landfilling, the electronic devices including at least processors and a memory communicatively coupled to the at least processors, wherein,
the memorizer stores instructions which can be executed by the processors, the instructions are executed by the at least processors, so that the at least processors can support the Flutter meta-information embedding function of Android and iOS dual platforms, and the automatic embedding method is non-invasive and highly scalable to the compiling process of Flutter.
Example 4
The disclosed embodiments provide non-volatile computer storage media storing computer-executable instructions that can perform the method of automatically burying a point in any of the method embodiments described above.
Example 5
Referring now to fig. 4, which illustrates a schematic block diagram of an electronic device suitable for implementing embodiments of the present disclosure, terminal devices in embodiments of the present disclosure may include, but are not limited to, mobile terminals such as mobile phones, notebook computers, digital broadcasters, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), in-vehicle terminals (e.g., car navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc. the electronic device illustrated in fig. 4 is only a example and should not impose any limitations on the functionality and scope of use of embodiments of the present disclosure.
As shown in fig. 4, the electronic device may include a processing means (e.g., a central processing unit, a graphics processor, etc.) 401 that may perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM)402 or a program loaded from a storage means 408 into a Random Access Memory (RAM) 403. In the RAM 403, various programs and data necessary for the operation of the electronic apparatus are also stored. The processing device 401, the ROM 402, and the RAM 403 are connected to each other via a bus 404. An input/output (I/O) interface 405 is also connected to bus 404.
Generally, the following devices may be connected to the I/O interface 405: input devices 406 including, for example, a touch screen, touch pad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; an output device 407 including, for example, a Liquid Crystal Display (LCD), a speaker, a vibrator, and the like; storage 408 including, for example, tape, hard disk, etc.; and a communication device 409. The communication means 409 may allow the electronic device to communicate with other devices wirelessly or by wire to exchange data. While fig. 4 illustrates an electronic device having various means, it is to be understood that not all illustrated means are required to be implemented or provided. More or fewer devices may alternatively be implemented or provided.
Embodiments of the present disclosure include, for example, computer program products comprising a computer program embodied on a computer readable medium, the computer program containing program code for performing the method illustrated by the flow chart in such embodiments, the computer program may be downloaded and installed from a network through the communication device 409, or installed from the storage device 408, or installed from the ROM 402. when executed by the processing device 401, the computer program performs the functions defined in the method of the embodiments of the present disclosure.
More specific examples of a computer readable storage medium may include, but are not limited to, an electrical connection having or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
The computer readable medium may be embodied in the electronic device; or may exist separately without being assembled into the electronic device.
The computer readable medium carries or more programs which, when executed by the electronic device, cause the electronic device to support the Android, iOS dual platform Flutter meta-information dotting function and the automated dotting method is non-intrusive and highly scalable to Flutter's compilation process or or more programs which, when executed by the electronic device, cause the electronic device to support the Android, iOS dual platform Flutter meta-information dotting function and the automated dotting method is non-intrusive and highly scalable to Flutter's compilation process or a combination thereof computer program code for performing the operations of the present disclosure may be written in or more programming languages or combinations thereof, including object oriented programming languages such as Java, Smalltalk, C + ' programming languages including conventional cross programming languages-programming languages "or" programming languages "or a combination thereof, which may be fully executed on a remote computer, a computer connected to a remote computer (e.g., a remote computer, a remote computer, a.
It should also be noted that in some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures, for example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved, it being noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, may be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units described in the embodiments of the present disclosure may be implemented by software or hardware. Where the name of an element does not in some cases constitute a limitation on the element itself.

Claims (10)

  1. The automatic point burying method of kinds, characterized by comprising:
    acquiring injection point information of a buried point marked by an injection device, identifying the injection point according to the injection point information, and identifying the injection point;
    performing embedding point processing on the source code of the network application at the injection point through a tool for moving a UI frame to generate a mixed byte code;
    and generating a compiled code according to the mixed byte code and a preset compiling rule.
  2. 2. The method of claim 1, wherein prior to the instrumentation of the mobile UI framework for the instrumentation of the injection point for the source code of the web application, the method further comprises:
    and preprocessing the tool to be processed of the mobile UI frame by using an AspectD tool to obtain the tool for moving the UI frame.
  3. 3. The method of claim 1, wherein the sink processing of the source code of the web application at the injection point by the tool of the mobile UI framework, generating the hybrid bytecode comprising:
    generating a buried point code through a code generator according to the buried point logic of the injection point;
    inserting, by a tool that moves a UI framework, a buried point code into the source code of a web application at the injection point, generating the hybrid bytecode.
  4. 4. The method of claim 3, wherein prior to the inserting, by the tool of the mobile UI framework, the buried point code generated by the code generator into the source code of the web application at the injection point, the method further comprises:
    and acquiring the buried point logic of the injection point, and generating a buried point code through a code generator according to the buried point logic of the injection point.
  5. 5. The method of claim 3, wherein after generating the hybrid bytecode, the method further comprises:
    reading hybrid bytecode information associated with the hybrid bytecode;
    wherein the mixed bytecode information includes at least:
    the embedded point logic corresponding to the injection point, the embedded point method corresponding to the injection point, the embedded point code generated by the code generator and the source code of the network application.
  6. 6. The method of claim 1, wherein after generating compiled code from the hybrid bytecode, the method further comprises:
    and generating an executable program according to the compiled code, and operating the executable program.
  7. 7. The method of claim 1, wherein prior to the obtaining injection point information for the annotator labeled burial point, the method further comprises:
    acquiring buried point information of a buried point request aiming at target data, and reading the buried point information;
    wherein the buried point information includes at least the following items:
    the method comprises the following steps of embedding the name of a point, a character form corresponding to the name of the point, a page path of the point, a character form corresponding to the page path of the point, the retention time of the point and a preset unit time corresponding to the retention time of the point.
  8. The automatic spot burying device of kinds, characterized by that, includes:
    the acquisition unit is used for acquiring the injection point information of the buried point marked by the annotator;
    the identification unit is used for identifying the injection point according to the injection point information acquired by the acquisition unit and identifying the injection point;
    a embedding unit, configured to perform embedding processing on the source code of the network application at the injection point identified by the identifying unit through a tool that moves a UI framework, and generate a hybrid bytecode;
    and the compiling unit is used for generating a compiled code according to the mixed byte code generated by the buried point unit and a preset compiling rule.
  9. A computer-readable storage medium , having a computer program stored thereon, wherein the program, when executed by a processor, implements the method of any of claims 1-7, .
  10. 10, electronic device, comprising:
    or more processors;
    storage means for storing or more programs that, when executed by the or more processors, cause the or more processors to implement the method of any of claims 1-7.
CN201910854016.1A 2019-09-10 2019-09-10 automatic point burying method, device, medium and electronic equipment Pending CN110737589A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910854016.1A CN110737589A (en) 2019-09-10 2019-09-10 automatic point burying method, device, medium and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910854016.1A CN110737589A (en) 2019-09-10 2019-09-10 automatic point burying method, device, medium and electronic equipment

Publications (1)

Publication Number Publication Date
CN110737589A true CN110737589A (en) 2020-01-31

Family

ID=69267745

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910854016.1A Pending CN110737589A (en) 2019-09-10 2019-09-10 automatic point burying method, device, medium and electronic equipment

Country Status (1)

Country Link
CN (1) CN110737589A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111444065A (en) * 2020-05-18 2020-07-24 江苏电力信息技术有限公司 AspectJ-based mobile terminal performance index monitoring method
CN111459762A (en) * 2020-04-03 2020-07-28 杭州趣维科技有限公司 Monitoring and calling chain system and method based on byte code technology and CAT
CN111694564A (en) * 2020-06-05 2020-09-22 百度在线网络技术(北京)有限公司 Compiling method, device, equipment and medium for Flutter mixed mode
CN111813381A (en) * 2020-06-22 2020-10-23 北京字节跳动网络技术有限公司 Method, device, medium and electronic equipment for generating executable program in cross-platform mode
CN112433715A (en) * 2020-12-09 2021-03-02 深圳市玖昔科技发展股份有限公司 Full-embedding method of wireless communication terminal
CN112631600A (en) * 2020-12-24 2021-04-09 上海哔哩哔哩科技有限公司 Software construction method and system based on Flutter
CN113391811A (en) * 2020-03-13 2021-09-14 北京字节跳动网络技术有限公司 Function compiling method and device, electronic equipment and computer readable storage medium
CN113765740A (en) * 2021-08-03 2021-12-07 网宿科技股份有限公司 Method and device for monitoring Dio network request

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106970789A (en) * 2017-03-07 2017-07-21 武汉斗鱼网络科技有限公司 A kind of Android end groups bury point methods and system automatically in AOP and AspectJ daily record
CN107145489A (en) * 2016-03-01 2017-09-08 阿里巴巴集团控股有限公司 A kind of information statistical method and device of the client application based on cloud platform
CN108536589A (en) * 2018-03-26 2018-09-14 广州小鹏汽车科技有限公司 A kind of application program buries point methods and system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107145489A (en) * 2016-03-01 2017-09-08 阿里巴巴集团控股有限公司 A kind of information statistical method and device of the client application based on cloud platform
CN106970789A (en) * 2017-03-07 2017-07-21 武汉斗鱼网络科技有限公司 A kind of Android end groups bury point methods and system automatically in AOP and AspectJ daily record
CN108536589A (en) * 2018-03-26 2018-09-14 广州小鹏汽车科技有限公司 A kind of application program buries point methods and system

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
SROMISE: "关于"网页埋点"的简单介绍与实现", 《HTTPS://BLOG.CSDN.NET/WEIXIN_43615166/ARTICLE/DETAILS/100565932》 *
用户1907613: "看AspectJ在Android中的强势插入", 《HTTPS://CLOUD.TENCENT.COM/DEVELOPER/ARTICLE/1160026》 *
闲鱼技术: "重磅开源|AOP for Flutter开发利器——AspectD", 《HTTPS://DEVELOPER.ALIYUN.COM/ARTICLE/705751》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113391811A (en) * 2020-03-13 2021-09-14 北京字节跳动网络技术有限公司 Function compiling method and device, electronic equipment and computer readable storage medium
CN113391811B (en) * 2020-03-13 2023-11-03 抖音视界有限公司 Function compiling method, function compiling device, electronic equipment and computer readable storage medium
CN111459762A (en) * 2020-04-03 2020-07-28 杭州趣维科技有限公司 Monitoring and calling chain system and method based on byte code technology and CAT
CN111459762B (en) * 2020-04-03 2023-05-16 杭州趣维科技有限公司 Monitoring and calling chain system and method based on byte code technology and CAT
CN111444065A (en) * 2020-05-18 2020-07-24 江苏电力信息技术有限公司 AspectJ-based mobile terminal performance index monitoring method
CN111444065B (en) * 2020-05-18 2022-03-11 江苏电力信息技术有限公司 AspectJ-based mobile terminal performance index monitoring method
CN111694564A (en) * 2020-06-05 2020-09-22 百度在线网络技术(北京)有限公司 Compiling method, device, equipment and medium for Flutter mixed mode
CN111694564B (en) * 2020-06-05 2023-08-04 百度在线网络技术(北京)有限公司 Method, device, equipment and medium for compiling Flutter mixed mode
CN111813381A (en) * 2020-06-22 2020-10-23 北京字节跳动网络技术有限公司 Method, device, medium and electronic equipment for generating executable program in cross-platform mode
CN112433715A (en) * 2020-12-09 2021-03-02 深圳市玖昔科技发展股份有限公司 Full-embedding method of wireless communication terminal
CN112631600A (en) * 2020-12-24 2021-04-09 上海哔哩哔哩科技有限公司 Software construction method and system based on Flutter
CN113765740A (en) * 2021-08-03 2021-12-07 网宿科技股份有限公司 Method and device for monitoring Dio network request

Similar Documents

Publication Publication Date Title
CN110737589A (en) automatic point burying method, device, medium and electronic equipment
CN108228188B (en) View component processing method, electronic device and readable storage medium
Sen et al. Jalangi: A selective record-replay and dynamic analysis framework for JavaScript
CN104412229B (en) Adaptive portable library
US8347272B2 (en) Call graph dependency extraction by static source code analysis
JP5415557B2 (en) User script code conversion for debugging
CN102455912B (en) Expand during operation
US10540262B2 (en) Using edit and continue to dynamically set and unset optimizations in source code while debugging
CN110990020A (en) Software compiling method and device, electronic equipment and storage medium
CN105683924A (en) Debugging native code by transitioning from execution in native mode to execution in interpreted mode
CN111090433A (en) Data processing method, device and storage medium
CN100492387C (en) Method and system for software protected development based on Keil C51
CN111740948B (en) Data packet issuing method, dynamic updating method, device, equipment and medium
CN107608663A (en) A kind of development approach and device of Mobile solution plug-in unit and Mobile solution
CN102262684A (en) Method and device for generating webpage page of mobile terminal
Hasan et al. Smart Phones Application development using HTML5 and related technologies: A tradeoff between cost and quality
CN113778897B (en) Automatic test method, device and equipment for interface and storage medium
CN109933410B (en) Virtual instruction issuing method and system based on virtualization technology
CN110737588A (en) automatic point burying method, device, medium and electronic equipment
CN114398673A (en) Application compliance detection method and device, storage medium and electronic equipment
TW201502985A (en) Method and device for processing file
WO2020057265A1 (en) Method and system for chat function development, terminal and computer readable storage medium
CN112988175A (en) Cross-platform application installation package generation method, device, medium and electronic equipment
CN111736812A (en) Document code execution method and device, computer equipment and storage medium
CN111258802A (en) Method for capturing application program crash information and related equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200131