Gem 如何让 ocra 打包生成的.exe 体积更小一些?

Lonely_Man01 · 2018年07月28日 · 最后由 Lonely_Man01 回复于 2018年08月01日 · 5066 次阅读

本人用 ruby(版本 2.5.1-2 带 DevKit,由 rubyInstaller 安装)写了一个 nethack 风格的命令行界面游戏,最后源文件占用大小 36.0 KB,实际大小 17.5KB

然后用 ocra 进行打包

ocra main.rb(启动游戏的文件)

然后 ocra 生成的.exe 文件 3.47MB,加上源文件共占用 3.50MB,比源文件大了很多

请问有没有什么办法能够减小 ocra 生成的.exe 文件的体积?

对 nine 回复

从图中可以看出来,压缩的效果并不理想,而且压缩完之后瞬间就报毒被删了 请问能否通过调节一些参数来减小 ocra 生成.exe 的体积?

对 nine 回复

试了多个加壳方案(PECompact,UPX 等)都会报毒而且压缩效果不好,有人说是压缩过了,可能是这个原因吗?(ocra 的打包过程中的确有一行和 lzma 有关的内容)

对 Lonely_Man01 回复

商业软件一般是加壳后,找 360 申请过白名单。自己的小程序就没办法了

对 nine 回复

昨天发现了 ocra 可以通过一些参数来稍微减小包的体积

--gem-minimal 只加载必须的 gem

--no-enc 不加载编码支持文件

可以缩掉 0.8M 左右的体积

体积肯定不小啊,ocra 的原理就是把你的代码和 ruby 的运行环境打包起来,执行时把代码解压到临时文件夹再跑

对 shinkxw 回复

那为什么 ocra 打包得到的.exe 还需要和源代码在同一目录才能运行?

对 Lonely_Man01 回复

大概是你打包的过程有点问题,一般不是要跑一下代码,然后就能压成一个 exe 了

对 shinkxw 回复

就是这样打包的啊,但得到的.exe 还是不能脱离脚本文件独立运行

需要 登录 后方可回复, 如果你还没有账号请 注册新账号