当前位置: 首页 > article >正文

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

文章目录

      • 背景
      • 原因
      • 解决方案:更换压缩方式
      • 分析问题
      • 拓展(.DS_Store)

背景

项目中有一个场景,需要把目录压缩为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


http://www.kler.cn/a/14166.html

相关文章:

  • 【C#】DockContent的使用
  • Redis缓存雪崩、穿透、击穿
  • npm install 卡住 不动弹
  • 氧气与肠道菌群失调
  • QT 插件通信接口调用 CTK开发(四)
  • 力扣刷题——双数之和
  • 代码随想录算法训练营第56天|583. 两个字符串的删除操作,72. 编辑距离
  • 什么是分组卷积、深度可分离卷积?附上深度可分离卷积代码
  • MiniGPT-4开源了:看图聊天、教学、创作、搭网站
  • 四百左右音质好的蓝牙耳机有哪些?2023公认音质最好的蓝牙耳机排行
  • 百度ai智能写作工具-百度ai自动写文章
  • 【Java实战篇】Day13.在线教育网课平台--生成支付二维码与完成支付
  • 【python】采集每日必看黄色软件数据~
  • 【UITableViewCell单元格重用补充 Objective-C语言】
  • MVCC底层原理
  • CorelDRAW2023最新版本图像设计软件
  • 5.5G的关键一跳!将数智未来照进现实
  • 中医脉诊仪:结合传统与现代技术的诊断工具
  • 开发框架Furion之Winform+SqlSugar
  • 【Linux命令行与Shell脚本编程】第七章 Linux文件权限