问题标签 [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 投票
4 回答
7318 浏览

javascript - Android proguard Javascript 接口问题

使用 proguard 混淆后我的项目因 javascriptinterface 而失败

这是有关proguard配置的一些建议的链接,但在我的情况下它不起作用

http://groups.google.com/group/android-developers/browse_thread/thread/f889e846fbf7ec3f?pli=1

因此,来自 Javascript 的调用松散绑定到相关的 Java 方法

我的proguard配置

如果有人知道如何配置 proguard 让它过滤掉对我有很大帮助的相关方法和类

0 投票
2 回答
945 浏览

android - android:proguard混淆问题

我在尝试用 proguard 混淆我的项目时遇到问题。

我正在用 eclipse 导出我的项目,该项目在 android 2.2 sdk 上,default.properties 是:

尝试导出项目时出现此错误:

我已经导出了其他项目,但他们都没有给我这个错误......我该如何解决这个问题?

0 投票
2 回答
8584 浏览

android - android:proguard混淆问题

我使用 javamail api for android 制作了一个邮件客户端,该应用程序在模拟器或设备中运行良好......现在我想使用 eclipse 导出项目,但出现以下错误:

正如我所看到的,javamail api 使用 java.awt 和 javax.security 库......我怎样才能将它们添加到我的项目中,以便我可以导出我的项目并对其进行混淆?

非常感谢你!

更新:

我尝试在我的项目中导入 jre 库,这些错误消失了,但出现了新错误:

我能做些什么?

0 投票
1 回答
4092 浏览

android - android proguard,跳过罐子

我想知道是否可以在 proguard 中跳过 jars,以免混淆它们......我正在尝试用这个命令来做到这一点: -libraryjars myjar.jar 但我的代码一直有问题..

我正在尝试导出一个具有适用于 android 的 javamail api 的项目,并且该项目应该使用 imaps 协议检索我的交换电子邮件...

我正在使用信任管理器来通过证书验证(因为我的 exc 服务器上有自签名证书)。如果我编译并运行应用程序而不导出它,一切正常。如果我导出应用程序,我会收到无效的证书错误。

在我的活动中,我在 Property 对象上传递了 SSLSocketFactory(跳过证书验证的那个):

所以我认为问题可能出在javamail jar中,但我不知道如何让proguard跳过jar中的所有类......

0 投票
1 回答
1776 浏览

android - 使用 CORBA 混淆 Android 应用程序

结果我在我的 android 应用程序中使用了 jacorb.jar 和 CORBA 接口。当我尝试使用 Proguard 混淆代码时,我会收到很多这样的警告:

结果:

我的 proguard.cfg :

如何更正这些警告并构建有效的 apk 文件?

0 投票
3 回答
4651 浏览

android - Android、javamail 和 proguard

我正在尝试在我的 Android 应用程序中使用 javamail,但 proguard 抱怨它找不到一大堆东西。我尝试了在互联网上搜索时发现的各种补救措施,但似乎没有任何效果。有没有人让这个东西工作?谢谢。

我在默认的 proguard.cfg 中添加了一些 -dontwarn 命令,并成功消除了除此之外的所有警告消息:

此警告甚至与所有其他警告的格式都不相同。

0 投票
2 回答
6578 浏览

android - 带有@Inject 注释的 ProGuard 和 RoboGuice 的问题

在优化我的 android 应用程序时,我遇到了一些 proguard 问题。似乎对 Dalvik/Harmony 在运行时不满意的注释类 (@com.google.inject.Inject) 做了一些事情。

java.lang.annotation.IncompleteAnnotationException: 注释 com.google.inject.Inject 的可选元素不完整

com.google.inject.Inject 看起来像这样(Guice 的一部分):

这是启动时的失败:

这是我的(当前)proguard.cfg:(我尝试了很多东西)

0 投票
2 回答
20850 浏览

android - 如何使用 ProGuard 将所有方法保留在一个类中

我使用 ProGuard 来优化我的 Android 应用程序。但是对于 Android 仪器测试,我需要一些(但不是全部)类来保留所有成员。我尝试了各种方法,最后一种是:

但令人惊讶的是我仍然得到

这里令人痛苦的部分是有两个构造函数,一个有很多参数。

有谁知道正确的语法来保持一个类完全不变并且不受 ProGuard 影响?

0 投票
2 回答
4773 浏览

android - 使用 ProGuard 值得吗?

根据我所见所闻,如果有人真的想对您的软件进行逆向工程或反编译,ProGuard 不会阻止他们。但这至少是一种适度的威慑吗?我不确定以后翻译我的堆栈跟踪是否值得。

0 投票
3 回答
4298 浏览

java - 如果代码要被混淆,我可以一直使用反射 API 吗?

我发现似乎有两种通用解决方案:

  1. 不要混淆通过反射 API 引用的内容 [ Retroguard , Jobfuscate ]
  2. 用混淆名称替换反射 API 调用中的字符串。

这些解决方案仅适用于同一项目中的调用——客户端代码(在另一个项目中)可能不使用反射 API 来访问非公共 API 方法。

在 2 的情况下,它也仅在反射 API 与编译时已知的字符串一起使用时才有效(私有方法测试?)。在这些情况下,dp4j还提供了一种在混淆后注入反射代码的解决方案。

阅读Proguard 常见问题解答时,我想知道 2 是否总是有效,当它说:

ProGuard 会自动处理 Class.forName("SomeClass") 和 SomeClass.class 等结构。引用的类在收缩阶段被保留,字符串参数在混淆阶段被正确替换。

使用可变字符串参数,通常无法确定它们的可能值。

问:粗体字是什么意思?有什么例子吗?