Comments (6)
收到问题。
我在macos下,用系统自带的压缩生成的zip文件,使用ApkNormalized处理后,用系统或keka都能正确解压,windows下用7zip解压能够复现报错(看起来正确解压但会有错误日志)。而换用keka来创建zip就无法复现该问题;
from apkdiffpatch.
可能的原因: 生成的zip文件中如果是0字节的文件,并且使用了deflate算法,那么在ApkNormalized的时候,就不会保存任何文件的数据,这和7zip的默认逻辑不匹配(没有数据来解压)。
from apkdiffpatch.
我试了一下,构造了一个这样的apk文件,7zip解压报错,但还是能够正确的安装和运行在一步华为手机上。
from apkdiffpatch.
是的,能够正常运行,是否有办法使7zip解压正确呢?根据“那么在ApkNormalized的时候,就不会保存任何文件的数据”,这个是不是在ApkNormalized中可以使原本apk中有什么样的文件就以怎么样的形式保存呢?
额外的问题:如果我原本的apk中游戏文件是经过压缩的,有些文件是没有经过压缩的,那么使用了ApkNormalized之后这些文件的压缩性有正确的保存下来吗?
from apkdiffpatch.
额外的问题:如果我原本的apk中游戏文件是经过压缩的,有些文件是没有经过压缩的,那么使用了ApkNormalized之后这些文件的压缩性有正确的保存下来吗?
当前ApkNormalized不会去改变文件是否压缩的属性(但要修改该问题可能会调整策略)。
是否有办法使7zip解压正确呢?
会尝试修改一下ApkNormalized的流程,保留0字节大小的压缩文件的压缩数据(这会破坏旧的patch的流程造成不兼容); 还有一种简单修改ApkNormalized的方式:遇到0字节的压缩文件时属性修改为不压缩就不会破坏旧的patch的流程了。
from apkdiffpatch.
更新了一个新版本,ApkNormalized出来的zip包可以用7zip兼容打开了,并且默认时不影响部署的旧patch;
from apkdiffpatch.
Related Issues (20)
- Can I use it for delta patching custom android ROMS? HOT 2
- 建议andorid release 上传maven HOT 3
- How to create diff and apply patch for android? HOT 21
- Problem with split apks (INSTALL_FAILED_INVALID_APK: Failed to extract native libraries, res=-2) HOT 9
- 如何在Android设备上二次签名? HOT 4
- 请问下,重新签名后patch反而变大了。没有重新签名直接生成的patch是400多k,重新签名后生成的反而是1.2M。比google的archive-patcher 的patch包大,与您这边的测试结果好像不符合。使用的是v2签名的Apk HOT 11
- ps: 广告,我正在开发一个不需要重新签名的方案[sfpatcher](https://github.com/sisong/sfpatcher), HOT 3
- Native异常:signal 11 (SIGSEGV) , code 1 (SEGV_MAPERR), fault addr 0xdeadcab1: HOT 7
- ApkPatch.patch return 5 HOT 3
- error patch when signed by new apksigner version?
- optimize muti-thread patch max require memory
- unexpected e_version: 65725 HOT 9
- patch fail with multi-thread HOT 2
- 你使用的那个版本的 ndk 啊? HOT 1
- Patch 过程中 4*(decompress stream memory) 这部分内存有办法降低吗?在手机设备上执行内存比较紧张? HOT 4
- 测试发现 patch 最大的耗时还是在将 new apk 的数据部分压缩,想要直接生成压缩等级为 0 的 new apk,求问大佬有什么办法嘛 HOT 1
- HDiffPatch 可以断点,但是 ApkDiffPatch 无法断点,请问大佬是 apkdiffpatch 进行了什么特殊设置嘛 HOT 1
- Problem with split apks (INSTALL_FAILED_INVALID_APK: Failed to extract native libraries, res=-2) HOT 6
- ZipDiff zip file failed if zip > 4G HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from apkdiffpatch.