archive-patcher | Automatically exported from | Compression library

 by   google Java Version: v1.1 License: Apache-2.0

kandi X-RAY | archive-patcher Summary

kandi X-RAY | archive-patcher Summary

archive-patcher is a Java library typically used in Utilities, Compression applications. archive-patcher has no vulnerabilities, it has build file available, it has a Permissive License and it has low support. However archive-patcher has 300 bugs. You can download it from GitHub.

Archive-patcher is an open-source project that allows space-efficient patching of zip archives. Many common distribution formats (such as jar and apk) are valid zip archives; archive-patcher works with all of them. Because the patching process examines each individual file within the input archives, we refer to the process as File-by-File patching and an individual patch generated by that process as a File-by-File patch. Archive-patcher processes almost all zip files, but it is most efficient for zip files created with "standard" tools like PKWARE's 'zip', Oracle's 'jar', and Google's 'aapt'. By design, File-by-File patches are uncompressed. This allows freedom in choosing the best compression algorithms for a given use case. It is usually best to compress the patches for storage or transport. Note: Archive-patcher does not currently handle 'zip64' archives (archives supporting more than 65,535 files or containing files larger than 4GB in size).
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              archive-patcher has a low active ecosystem.
              It has 433 star(s) with 60 fork(s). There are 22 watchers for this library.
              OutlinedDot
              It had no major release in the last 12 months.
              There are 11 open issues and 18 have been closed. On average issues are closed in 127 days. There are 9 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of archive-patcher is v1.1

            kandi-Quality Quality

              OutlinedDot
              archive-patcher has 300 bugs (20 blocker, 1 critical, 8 major, 271 minor) and 915 code smells.

            kandi-Security Security

              archive-patcher has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              archive-patcher code analysis shows 0 unresolved vulnerabilities.
              There are 6 security hotspots that need review.

            kandi-License License

              archive-patcher is licensed under the Apache-2.0 License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              archive-patcher releases are available to install and integrate.
              Build file is available. You can build the component from source.
              Installation instructions are not available. Examples and code snippets are available.
              archive-patcher saves you 6422 person hours of effort in developing the same functionality from scratch.
              It has 13356 lines of code, 809 functions and 110 files.
              It has medium code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi has reviewed archive-patcher and discovered the below as its top functions. This is intended to give you an instant insight into archive-patcher implemented functionality, and help decide if they suit your requirements.
            • Compute the next match
            • Searches for a match
            • Searches for a sequence of bytes
            • Returns the length of the alignment between the two specified arrays
            • Apply a patch to a file
            • Copy bytes from original file into the output file
            • Copies data from a patch file into an output stream
            • Compares this descriptor to another
            • Compares this range with the specified value
            • Apply a delta between old and new blob
            • Compares this object for equality
            • Reads a 64 - bit integer from the specified input stream
            • Skips the specified number of bytes
            • Returns an unmodifiable map of levels to be used by the strategies
            • Generate a pre - diff plan
            • Creates a hashCode of the data
            • Creates a hashCode of this range
            • Returns a hashCode of the entry
            • Generates a compressed corpus
            • Compress a file
            • Returns the recommendations based on the original recommendations
            • Compress the patch file
            • Returns the recommendations based on the uncompressed recommendation
            • Checks if the recommendings are equal
            • Generate baseline
            • Ensures that the list is sorted
            Get all kandi verified functions for this library.

            archive-patcher Key Features

            No Key Features are available at this moment for archive-patcher.

            archive-patcher Examples and Code Snippets

            No Code Snippets are available at this moment for archive-patcher.

            Community Discussions

            QUESTION

            Reduce APK Size using Patch and Update on Google Play Store
            Asked 2018-Mar-30 at 07:01

            I recently read about that Google is using File-by-File Patching and another one algorithm BsDiff - Delta update which patches apk files and gives only update sized apk to download from Play Store.

            I went through below blogs and links:

            1) https://android-developers.googleblog.com/2016/12/saving-data-reducing-the-size-of-app-updates-by-65-percent.html

            2) https://github.com/andrewhayden/archive-patcher/blob/master/README.md for "File-by-File Patching"

            3) https://android-developers.googleblog.com/2016/07/improvements-for-smaller-app-downloads.html for "BsDiff" patching

            I installed BsDiff on my Linux and applied it on old and new apk but it remains the same size of the app and also while I update it on Play Store, it shows full size as at the time of install.

            Also, I downloaded "File-by-File Patching" code and made apk through it and updated it on Play Store but the same, no reduced size of apk.

            So, If anybody who has done this or know about this, Please give your answer so I can make my app update of reduced size app update on Play Store.

            ...

            ANSWER

            Answered 2018-Mar-29 at 14:42

            There are four different sizes for one APK which are classified as:

            1. Raw Apk Size
            2. Download Size
            3. Install Size
            4. Update Size

            You are mostly focusing on Raw Apk size which won't have much difference. Its the google play store which uses different algorithms to compress the APK. This in turn ensure that Download Size of the apk is lower so that the mobile data consumption is reduced for end user.

            Once the compressed APK is downloaded it will be uncompressed on the user's device and you will get Install Size. This size can vary from raw size since it will involve some JIT and/or AOT done on it.

            When it comes to Update size, you upload the Apk to play store with your update, google play store in turn will compute the delta and deliver it to end user. This delta will then be merged on device. This optimization reduces the update size hence whole APK won't be downloaded again and user will save cost.

            To summarize, you might not see big impact on Raw Size of your apk but the optimizations on play store will ensure that Download Size and Upload Size is optimal.

            For more details techniques to be applied, you can refer to this article. It gives anatomy of apk sizes as I have described and provides great tips to reduce the sizes.

            Source https://stackoverflow.com/questions/49549738

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install archive-patcher

            You can download it from GitHub.
            You can use archive-patcher like any standard Java library. Please include the the jar files in your classpath. You can also use any IDE and you can run and debug the archive-patcher component as you would do with any other Java program. Best practice is to use a build tool that supports dependency management such as Maven or Gradle. For Maven installation, please refer maven.apache.org. For Gradle installation, please refer gradle.org .

            Support

            Copyright 2016 Google Inc. All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/google/archive-patcher.git

          • CLI

            gh repo clone google/archive-patcher

          • sshUrl

            git@github.com:google/archive-patcher.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular Compression Libraries

            zstd

            by facebook

            Luban

            by Curzibn

            brotli

            by google

            upx

            by upx

            jszip

            by Stuk

            Try Top Libraries by google

            guava

            by googleJava

            zx

            by googleJavaScript

            styleguide

            by googleHTML

            leveldb

            by googleC++