Android Package Manager APK Resource Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
ImprovecompatibilityVSAvoidstorage space
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

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

Inventive Principle:
Principle #2Taking out (Extraction)

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

Inventive Principle:
Principle #3Local quality

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

Engineering Contradiction:
Improvedevice supportVSAvoidstorage space waste
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

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

Inventive Principle:
Principle #2Taking out (Extraction)

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

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvestorage spaceVSAvoidcompatibility
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

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

Inventive Principle:
Principle #23Feedback

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

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10191728B2System and method to reduce storage area usage of android application
Publication Date: 2019.01.29 SAMSUNG ELECTRONICS CO LTD
  • US10191728B2 patent drawing
  • US10191728B2 patent drawing
  • US10191728B2 patent drawing

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.