mac压缩文件多了__MACOSX目录问题

背景

项目中有一个场景,需要把目录压缩为app离线包的zip

但是压缩之后一致打不开,别人上传的zip是好的

原因

如图,我上传的在安卓设备或者是windows上解压出来多了__MACOSX的一个目录,根据识别的顺序,在Android 10的设备上是会有问题的
在这里插入图片描述

解决方案:更换压缩方式

之前我一直用的是mac电脑的默认压缩方式,也就是归档管理工具

经验证,这种方式压缩出来就会有隐藏文件

  1. 使用命令行压缩的时候删除__MACOSX

    zip -d XxXx.zip "__MACOSX*

  2. 更换其他的压缩软件,比如keba

    https://www.keka.io/en/

  3. 如果是可以在windows或者android上进行解压的场景的话,也可以手动删除多余的这个目录

分析问题

在mac系统上压缩文件时,会自动将一些缓存的内容一起压缩,而这些在mac系统中是不可见的,对于其他系统如windows和andorid来说其实没有任何作用,一些特定的场景还会影响数据读取

拓展(.DS_Store)

类似的,mac电脑还会多产生.DS_Store文件

这个文件是用来记录该目录的一些属性,如文件夹的排序方式、图标大小等

这些功能在显示选项功能可以看到

  1. 禁止生成.DS_Store文件

    defaults write com.apple.desktopservices DSDontWriteNetworkStores true

    这个命令可以禁止生成一切前面带.的隐藏文件

    如果是想指定目录不生成(-m之后的是你指定的目录)

    /usr/sbin/dot_clean -m ~/your_working_dir

  2. 删除已经生成的.DS_Store文件

    当前目录

    find . -name ‘.DS_Store’ -type f -delete

    所有目录

    sudo find / -name “.DS_Store” -depth -exec rm {} ;

  3. 恢复.DS_Store生成

    defaults delete com.apple.desktopservices DSDontWriteNetworkStores

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值