Giter Club home page Giter Club logo

Comments (6)

sisong avatar sisong commented on May 20, 2024

收到问题。
我在macos下,用系统自带的压缩生成的zip文件,使用ApkNormalized处理后,用系统或keka都能正确解压,windows下用7zip解压能够复现报错(看起来正确解压但会有错误日志)。而换用keka来创建zip就无法复现该问题;

from apkdiffpatch.

sisong avatar sisong commented on May 20, 2024

可能的原因: 生成的zip文件中如果是0字节的文件,并且使用了deflate算法,那么在ApkNormalized的时候,就不会保存任何文件的数据,这和7zip的默认逻辑不匹配(没有数据来解压)。

from apkdiffpatch.

sisong avatar sisong commented on May 20, 2024

我试了一下,构造了一个这样的apk文件,7zip解压报错,但还是能够正确的安装和运行在一步华为手机上。

from apkdiffpatch.

Picasso1990 avatar Picasso1990 commented on May 20, 2024

是的,能够正常运行,是否有办法使7zip解压正确呢?根据“那么在ApkNormalized的时候,就不会保存任何文件的数据”,这个是不是在ApkNormalized中可以使原本apk中有什么样的文件就以怎么样的形式保存呢?

额外的问题:如果我原本的apk中游戏文件是经过压缩的,有些文件是没有经过压缩的,那么使用了ApkNormalized之后这些文件的压缩性有正确的保存下来吗?

from apkdiffpatch.

sisong avatar sisong commented on May 20, 2024

额外的问题:如果我原本的apk中游戏文件是经过压缩的,有些文件是没有经过压缩的,那么使用了ApkNormalized之后这些文件的压缩性有正确的保存下来吗?

当前ApkNormalized不会去改变文件是否压缩的属性(但要修改该问题可能会调整策略)。

是否有办法使7zip解压正确呢?

会尝试修改一下ApkNormalized的流程,保留0字节大小的压缩文件的压缩数据(这会破坏旧的patch的流程造成不兼容); 还有一种简单修改ApkNormalized的方式:遇到0字节的压缩文件时属性修改为不压缩就不会破坏旧的patch的流程了。

from apkdiffpatch.

sisong avatar sisong commented on May 20, 2024

更新了一个新版本,ApkNormalized出来的zip包可以用7zip兼容打开了,并且默认时不影响部署的旧patch;

from apkdiffpatch.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.