使用jogl混淆的jar

时间:2015-05-18 18:17:08

标签: java jar proguard obfuscation jogl

我在video中使用proguard gui来混淆我在eclipse中使用jogl的项目创建的jar。 当放入jogl dll文件目录时,原始jar工作得很好。模糊文件不是出于某种原因。应用程序启动但出现一个空白窗口。 有什么想法吗?

1 个答案:

答案 0 :(得分:1)

这个git项目显示了一个确切存在问题的例子:

https://github.com/ArlindNocaj/jogl_gradle

运行gradle proguard会生成两个jar,其中第二个是proguard的结果,所有混淆/缩小/优化都已停用。

使用java -jar build/libs/proguard-jogl_gradle.jar启动proguard的结果不起作用。

结果:

# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007fb8fce79b0a, pid=32750, tid=140432495699712
#
# JRE version: Java(TM) SE Runtime Environment (8.0_51-b16) (build 1.8.0_51-b16)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.51-b03 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C  [ld-linux-x86-64.so.2+0x9b0a]
#
# Core dump written. Default location: /home/user/git/jogl_gradle/core or core.32750
#
# An error report file with more information is saved as:
# /home/user/git/jogl_gradle/hs_err_pid32750.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
#

我不添加核心转储,因为问题应该很容易重现。

编辑:解决方案:添加了-keepdirectories选项,以使proguard将目录条目添加到jar中。这允许使用getResource方法加载类。