27
2019
09

Libgdx 桌面项目(Desktop jar)混淆

  1. 在项目对应的Eclipse桌面工程中导出两个jar包:

    jar包A.jar:  -> Export  ->Runable jar file ->NEXT -> 勾选"Copy required libraries into a sub-folder next to the generated JAR."  ->Finish

    jar包B.jar:  -> Export  ->Runable jar file ->NEXT -> 勾选"Package required libraries into generated JAR."  ->Finish

    B.jar解压备用.

  2. 打开Proguard Gui(bin/proguardgui.bat,我用的是5.3.3版)

    1. 点击Input/Output分页,右上添加A.jar并设置输出包C.jar

    2. 右下默认有rt.jar,再添加A.jar生成时依赖包目录里所有的jar包。

    3. 点击Obfuscation 分页,去掉 "Use mixed-case class names."选项

    4. 点击Process分页,点击Process!生成混淆后的C.jar

  3. 打包依赖库,让混淆后的C.jar可以单独运行

    1. 用压缩软件打开C.jar(推荐7zip),把所有依赖jar包放入根目录.

    2. 把B.jar中的org/eclipse和META-INF复制到C.jar根目录

之后再用exe4j把C.jar打包为EXE文件,用packr打包为OSX的APP。

备注一下,其实第二步生成的C.jar在有依赖包文件夹下的情况下就可以执行了,而且比第三部最后的包要流畅一些,具体原因未知,要不要打包依赖库可以自己斟酌。


参考资料:

http://www.8bitrobot.com/2012/07/07/How-to-obfuscate-and-package-a-libgdx-app-for-distribution/

« 上一篇下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。