美文网首页
MacOS下Electron应用打包成dmg和pkg

MacOS下Electron应用打包成dmg和pkg

作者: 路过麦田 | 来源:发表于2018-05-22 20:09 被阅读1230次

    假设项目名称为 MyApp

    npm install -g appdmg
    

    打包为dmg

    首先用electron-packager打包为MyApp.app,electron-packager用法可看其文档

    // 目录结构
    dists->
        -- MyApp.app
        -- pack.json
    
    // 打包命令:
    appdmg ./dists/pack.json ./dists/MyApp.dmg
    

    pack.json文件内容:

    {
      "title": "MyApp",
      "icon": "icon.icns", // 图标
      "background": "background.png", // 背景图片
      "contents": [
        { "x": 448, "y": 344, "type": "link", "path": "/Applications" },
        { "x": 192, "y": 344, "type": "file", "path": "./MyApp.app" }
      ],
      "window": {
          "size": {
              "width": 640,
              "height": 480
          }
      },
      "format": "UDBZ", // 还有很多种,具体看appdmg的官方文档
    }
    
    // 这些坐标以及大小需要自己不断的尝试,说多了都是泪
    

    用上述方式打包出来的dmg文件可以正常运行,但是缺点就是体积太大,一个Electron Framework.framework文件就已经118M了,再加上其他的文件,我这边一个app打出来的体积已经到了150M了,确实有点庞大。

    format的各种值都试过了,最小只能压到141M,但还是很大。

    UDRW - UDIF read/write image
    UDRO - UDIF read-only image
    UDCO - UDIF ADC-compressed image
    UDZO - UDIF zlib-compressed image
    UDBZ - UDIF bzip2-compressed image (OS X 10.4+ only)
    UFBI - UDIF entire image with MD5 checksum
    UDTO - DVD/CD-R master for export
    UDSP - SPARSE (grows with content)
    UDSB - SPARSEBUNDLE (grows with content; bundle-backed)
    

    只能试一下pkg格式的包了

    打包为pkg

    可以安装packages来打包pkg
    http://s.sudre.free.fr/Software/files/Packages.dmg
    整个打包过程挺简单的,打包后的pkg体积也还可以,64M,比起150M来少了不少呢,但是每次发布的时候都要打开这个软件进行打包还是挺麻烦的,所以还是得想想其他办法,后来终于发现了macos自带的打包工具pkgbuild

    pkgbuild --install-location /Applications --component ./dists/MyApp.app ./dists/MyApp.pkg
    

    一个命令,一行代码,搞定,写在shell脚本里面,比起packages来方便多了。

    PS:
    pkgbuild工具貌似会出问题,打包出来的pkg能安装,但是安装完了不会再LaunchPad中显示,估计是安装出问题了,所以换了一种方式:

    使用quickpkg工具来打包
    https://github.com/scriptingosx/quickpkg

    
    ./build/darwin/quickpkg ./dists/MyApp.app --output ./dists/MyApp.pkg
    
    

    相关文章

      网友评论

          本文标题:MacOS下Electron应用打包成dmg和pkg

          本文链接:https://www.haomeiwen.com/subject/tqlkjftx.html