Android Package Manager APK Resource Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Android devices face storage space inefficiencies due to the inclusion of unnecessary resources in APK files, which are maintained for compatibility with various device configurations, leading to wasted storage space.
Innovation Solution
A package manager is implemented on Android devices to analyze and delete unnecessary resources from APK files, generating an optimized package that reduces storage usage, while maintaining compatibility by repackaging with a new security certificate.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a single APK file is used to support multiple device configurations (languages, screen sizes, resolutions), then compatibility across devices is improved, but storage space consumption increases due to inclusion of unnecessary resources
Solution Approach 1:
The patent extracts and removes unnecessary resources from the APK file based on the target device's specific configuration. The package manager analyzes the APK, identifies resources that are not needed for the particular device (such as different language strings, drawable resources for other resolutions), and extracts them for deletion, thereby reducing storage space while maintaining compatibility through selective inclusion of only needed resources
Solution Approach 2:
The patent applies local quality by customizing the APK file contents according to the specific device configuration. Instead of a uniform APK containing all possible resources, the system creates a tailored APK that includes only the resources relevant to that specific device's language, resolution, and other characteristics, optimizing storage space for each local configuration
2Adaptability or versatility
If multiple resource directories are created to support various device configurations, then adaptability to different devices is improved, but storage space is wasted because only one resource per type is actually used
Solution Approach 1:
The package manager extracts and removes duplicate or unnecessary resource files from the APK. When multiple resource directories exist (e.g., values-es/strings.xml, values-fr/strings.xml, drawable-xhdpi/, drawable-hdpi/), the system identifies which resources are actually needed based on device configuration and extracts the extras for deletion, preventing storage space waste
Solution Approach 2:
The system performs preliminary analysis of the APK resources before installation, identifying which resources will be needed based on the target device's configuration. This preliminary action allows the system to pre-remove unnecessary resources from the APK file before it is installed, ensuring only needed resources occupy storage space
3Quantity of substance
If unnecessary resources are deleted from the APK file, then storage space is reduced, but the APK file may no longer be compatible with all device configurations
Solution Approach 1:
The package manager uses feedback mechanisms to verify compatibility after resource removal. It analyzes the device configuration, selectively removes resources, and then verifies that the modified APK still maintains compatibility with the target device. This feedback loop ensures that resource deletion does not compromise the APK's ability to function properly on the specific device
Solution Approach 2:
The system changes parameters related to resource selection based on device configuration. Instead of a static APK containing all resources, the system dynamically determines which resources to include based on parameters such as language code, screen resolution, and device architecture, creating an optimized APK tailored to the specific device while maintaining compatibility
Data Source
AI summary
A mobile device based on an Android™ operating system configure to reduce the size of downloaded Android™ application packages. The mobile device comprises a storage device configured to store data, transceiver circuitry for downloading an Android™ application package, and a package manager. The package manager analyzes resources in the downloaded Android™ application package; identifies unnecessary resources that are not suitable for use by the mobile device; deletes the unnecessary resources; generates from the remaining resources an optimized Android™ application package having a smaller size than the downloaded Android™ application package; and stores the optimized Android™ application package in the storage device under the same name as the downloaded Android™ application package. The package manager also identifies an original security certificate in the downloaded Android™ application package; and generates from the optimized Android™ application package a new security certificate. The package manager uses the original security certificate and the new security certificate to download an updated version of the Android™ application package.


