apk-assets-differ
v0.0.5
Published
比较两个上传的 APK 或者 IPA,将其中 更新的版本中的 `assets` 的内容 和 更旧的版本中的 `assets` 内容比对,列出其中的不同
Downloads
4
Maintainers
Readme
apk-assets-differ
比较两个上传的 APK 或者 IPA,将其中 更新的版本中的 assets
的内容 和 更旧的版本中的 assets
内容比对,列出其中的不同
功能说明
- 这是一个命令行服务,命令行接口是
apk-assets-differ {path_to_apk1(new)} {path_to_apk2(old)}
- 使用者在界面中,指定两个 apk 文件
- 程序收到上传的两个 apk 文件后,使用 apk-parser 来解读这两个 apk 文件的配置数据,假设为 apk1.data, apk2.data
- 如果
apk1.data.package !== apk2.data.package
, 那么计算中断,反馈给用户说:包名不匹配 - 如果
apk1.data.android:versionCode !== apk2.data.android:versionCode
那么计算提示用户两个apk的内部版本号相同,所以将先输入的认为是新版本,后输入的认为是老版本。 - 然后加两个apk 都unzip 到两个目录下
- 读取旧版本的 apk 的
assets
目录下的 每个文件的文件名列表,listOld 和 每个文件的md5 filenameToMd5Old - 读取新版本的 apk 的
assets
目录下的 每个文件的文件名列表,listNew 和 每个文件的md5 filenameToMd5New - 凡是 listOld 和 listNew 中存在的文件名,并且两个文件的 MD5 相同,那么剔除这些文件
- 凡是 listOld 中存在,而在 listNew 中不存在的文件名, 那么剔除这些文件
- 最后得到的列表,就是 新版本的 apk 跟 旧版本的apk比较后,新版本的apk中所更新的文件
- 打印出这些文件,和每个文件的 md5
安装使用:
- npm install apk-assets-differ -g
- apk-assets-differ.coffer newApk oldApk [-z zipfiles]
- newApk: 新的apk文件
- oldApk: 旧的apk文件
- -z[--zip VALUE]: 加了这个参数表示需要压缩增量包。 VALUE: 指定生成的zip文件路径及文件名,文件名必须是zip后缀。