Android App RUM Injection Without Source Code Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing RUM instrument solutions for Android apps require modification of the source code, are complex and skill-intensive, and cannot be added after packaging, necessitating developer intervention.
Innovation Solution
A tool that automatically injects RUM instrumentation into Android AAB or APK files without modifying the source code, using a user-friendly GUI for customization and supporting both AAB and APK formats, allowing non-developers to implement monitoring.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If prior art RUM instrument solutions are used, then RUM monitoring capability is achieved, but source code modification is required and implementation complexity increases
Solution Approach 1:
The patent uses an intermediary tool (the instrumentation tool described in the patent) that acts as a mediator between the application owner and the RUM monitoring system. This tool automatically performs the complex tasks of extracting APK files, decompiling code, inserting instrumentation, and repackaging, thereby resolving the contradiction by providing RUM capability without requiring the application owner to directly handle the complex source code modifications.
2Reliability
If prior art RUM instrument solutions are used, then RUM monitoring capability is achieved, but source code modification is required which introduces errors or bugs
Solution Approach 1:
The patent enables application owners to independently perform RUM instrumentation without relying on application developers. The automated tool performs the instrumentation process itself, extracting the APK, decompiling the code, inserting the necessary instrumentation code, and repackaging the application. This self-service approach reduces the risk of human error and maintains code integrity while achieving RUM monitoring capability.
3Reliability
If prior art RUM instrument solutions are used, then RUM monitoring capability is achieved, but implementation requires developer intervention and additional skills
Solution Approach 1:
The patent introduces an intermediary automated tool that simplifies the RUM instrumentation process for application owners. This tool handles the complex technical requirements (APK extraction, decompilation, code insertion, repackaging) automatically, transforming a developer-intensive process into a user-friendly operation that requires minimal technical expertise while maintaining RUM monitoring capability.
4Reliability
If prior art RUM instrument solutions are used, then RUM monitoring capability is achieved, but application owners cannot implement instrumentation after packaging
Solution Approach 1:
The patent enables post-packaging instrumentation by performing the necessary code modifications after the application has been built and packaged as an APK file. The tool extracts the APK, decompiles the code, inserts instrumentation, and repackages the application - all after the original build process is complete. This preliminary action of preparing the instrumentation tool allows application owners to add RUM capability at any stage, including after packaging, thereby achieving adaptability without compromising the monitoring capability.
Data Source
AI summary
Systems and methods are disclosed to develop and use a tool to enable an application package to be instrumented with automatic real user monitoring (RUM) without accessing the original source code. A package, such as Android application bundle (AAB) or Android package kit (APK), is imported and decoded and a generated source code file and/or manifest is obtained. Instrumentation is then added at a location corresponding to a code signature in the generated source code file (e.g., an operation to be instrumented before and/or after the operation). The generated source code file is then compiled and packaged into an APK and/or AAB file. The resulting application package is available for downloading, installation, and use on user devices with the instrumentation having been automatically added and without access to the original source code.


