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

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

本人用 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 还是不能脱离脚本文件独立运行

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