问题标签 [proguard]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
11427 浏览

netbeans - 如何在 NetBeans 6.7/6.8 中使用 ProGuard?

有谁知道如何将 ProGuard 与 NetBeans 6.7/6.8 集成?我已经使用 NetBeans 很多年了,但现在我想使用 ProGuard,有没有办法将它添加为插件,然后单击一个按钮开始混淆我的程序?我知道它存在于 NetBeans Mobility Pack 中,为什么它不在常规 NetBeans 版本中?

0 投票
4 回答
6334 浏览

obfuscation - 使用 proguard 混淆后,使用 google guice 注入不再起作用

有没有人尝试过将 google guice 的使用与混淆(特别是 proguard)结合起来?我的代码的混淆版本不适用于 google guice,因为 guice 抱怨缺少类型参数。这个信息似乎被 proguard 所做的转换步骤删除了,即使相关类被排除在混淆之外。

堆栈跟踪如下所示:

我试图创建一个似乎重现问题的小示例(不使用 guice):

如果你运行这个代码 unsbfuscated,输出看起来像这样:

但是运行使用 proguard 混淆的版本会产生:

这些是我用于混淆的选项:

有没有人知道如何解决这个问题(除了将相关文件放入单独的 jar 并且不混淆它的明显解决方法)?

最好的问候,
斯特凡

0 投票
30 回答
195066 浏览

android - 如何在构建 Android 应用程序的发布版本之前删除所有调试日志记录调用?

根据 Google 的说法,在将我的 Android 应用程序发布到 Google Play 之前,我必须“停用对源代码中 Log 方法的任何调用”。摘自出版清单第 3 节:

确保在构建应用程序以供发布之前停用日志记录并禁用调试选项。您可以通过删除源文件中对 Log 方法的调用来停用日志记录。

我的开源项目很大,每次发布都手动做很痛苦。此外,删除 Log 行可能很棘手,例如:

如果我注释 Log 行,则该条件适用于下一行,并且可能不会调用 load()。这种情况是否足够罕见以至于我可以决定它不应该存在?

那么,有没有更好的源代码级别的方法来做到这一点?或者也许一些巧妙的 ProGuard 语法可以有效但安全地删除所有日志行?

0 投票
1 回答
5523 浏览

java - 如何使用 proguard 混淆战争文件

我想使用 proguard 混淆战争文件,我该怎么做?
请解释一下步骤

0 投票
4 回答
12977 浏览

java - 错误:找不到常见的超类

我正在尝试使用 Proguard 处理 MS Windows 桌面应用程序(使用 Eclipse 提供的 SWT 库的 Java 6 SE)。我收到以下严重错误:

当我试图用谷歌搜索这个错误时,它只出现在整个网络上的两个地方,这让我大吃一惊。我完全是使用 Proguard 和 Java 代码优化工具的新手。任何如何解决此问题的想法和建议将不胜感激。提前致谢。

上述错误现已修复,使用“-dontskipnonpubliclibraryclasses”

--最终更新:

我现在仍然遇到另一个错误。现在整个输出如下:

这是一个我无法确定的问题:(任何帮助将不胜感激。

我使用的选项如下:

0 投票
2 回答
2182 浏览

java - 是否可以使用 ProGuard 缩小 rt.jar?

是否有一个程序可以通过使用一些优化软件(如 ProGuard(或其他?)那么您实际上可以大大减少应用程序的下载大小并使其更加安全吗?正确的?

相关问题:

  • 你知道 Sun 等待出来的“拼图项目”是否旨在自动处理这个特定问题?
  • 是否有人设法对 Avian java 替代方案形成意见?请在这里分享。

谢谢你。

0 投票
1 回答
764 浏览

java - eclipse mtj - proguard:混淆第三方 jar 错误

我使用 proguard(mtj 插件中的支持)来混淆具有一些第三方 jar 的项目,但它给了我错误:

似乎 proguard 在 JavaSE 而不是 JavaME 中寻找类。它只发生在使用第三方 jar 的项目中。

0 投票
5 回答
9574 浏览

java - 在 OS X 上运行 ProGuard:Apple 的 rt.jar 在哪里?

我正在运行ProGuard来缩小我的 jar 文件。它需要的参数之一是系统的运行时 jar。这适用$JAVA_HOME/lib/rt.jar于 Sun 发行版,但不适用于 Apple 的 Mac OS X(在我的情况下为 v10.6 (Snow Leopard))。

OS X 有 rt.jar 吗?

0 投票
2 回答
6729 浏览

android - 如何从 proguard 构建中排除 R*.class 文件

我离制作这里描述的方法只有一步之遥: Targeting Android with Scala 2.8 Trunk builds

使用单个项目(一个项目用于 scala,一个用于 android)。

我遇到了一个问题。使用这个输入文件(参数)proguard:

Proguard 成功构建了 scandroid.jar,但它似乎包含了 android 资源构建器生成和编译的生成的 R 类。在这种情况下,它们位于 bin/org/jeb/R*.class 中。这不是我想要的。android dalvik 转换器无法构建,因为它认为存在 R 类的副本(它在 scandroid 和 R*.class 文件中)。如何修改上述 proguard 参数以从 scandroid.jar 中排除 R*.class 文件,以便 dalvik 转换器满意?编辑:我应该注意到我尝试将 ;bin/org/jeb/R.class;etc... 添加到 -libraryjars 参数中,这似乎只会导致它抱怨重复的类,此外 proguard 决定排除我的 scala 类文件也是如此。

0 投票
2 回答
1320 浏览

java - 带有转义分析的静态java字节码优化器(如proguard)?

基于逃逸分析的优化是 Proguard 的一项计划功能。同时,是否有任何现有的工具,如 proguard,已经进行了需要逃逸分析的优化?