Native Library Versioning for Mobile Runtime Compatibility
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for loading libraries in mobile applications lack the ability to easily browse and execute JavaScript applications on mobile devices without lengthy compilation and packaging, and they do not efficiently manage multiple versions of native libraries for backwards compatibility.
Innovation Solution
A method and apparatus for loading multiple versions of a native library into a native environment, which involves a versioning tool that renames function calls at the native and development code levels, recompiles older versions, and packages them for execution within a mobile application runtime, allowing switching between library versions at runtime.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple versions of native libraries are loaded into a native environment, then backwards compatibility is improved, but device memory consumption increases
Solution Approach 1:
The patent segments the native library into multiple versioned components, allowing different versions to coexist in the same application. Each library version is loaded as a separate module with version identifiers, enabling the system to load only the specific version required by each JavaScript application rather than loading all versions simultaneously.
Solution Approach 2:
The patent introduces a library manager as an intermediary component that mediates between JavaScript applications and native libraries. This manager handles version resolution, loading, and unloading of libraries, allowing multiple versions to be managed efficiently in memory by loading only when needed and unloading when no longer required by active applications.
2Manufacturing precision
If standard compilation and packaging processes are used for each JavaScript application, then execution accuracy is improved, but processing time increases
Solution Approach 1:
The patent implements preliminary action by pre-compiling JavaScript applications into bytecode format and pre-packaging them with required library version information before deployment to the device. This allows the applications to be executed directly from bytecode without requiring compilation at runtime, significantly reducing processing time while maintaining execution accuracy through the use of a bytecode interpreter.
Data Source
AI summary
A method for loading multiple versions of the same native library in a native runtime environment. In one embodiment, the method comprises cloning a native library workspace with a first version number as a cloned native library; applying a namespace across the cloned native library; injecting a macro into source code associated with the cloned native library; adding a dependency to the cloned native library in source code associated with the native runtime environment; and registering the first version number in a project configuration of the native runtime environment.


