问题标签 [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.
android - 导出已签名、混淆的 Android 应用程序时,如何在 Eclipse 中设置 ProGuard?
我正在发布一个在 Eclipse 中开发的 Android 应用程序,如标题中所述,我想将 Proguard 混淆集成到构建中,特别是用于导出签名的应用程序。
有没有人走上蚂蚁之路的运气?
java - 使用 ProGuard 混淆代码
我选择了 ProGuard,这是我配置它的选项:
收缩
选项:
- 收缩
保持:
- 应用
- 小程序
同时保持:
- 枚举
- 数据库驱动程序
- Swing UI L&F
混淆
选项:
- 混淆(呃!:P)
- 积极超载
- 使用唯一的类成员名称
- 使用混合大小写的类名
- 扁平化包层次结构
- 重新打包类
保留姓名:
- 本机方法名称
- .class 方法名称
优化
选项:
- 优化
- 积极合并接口
消除:
- [选中所有框]
信息
预验证和定位:
- 预验证
一致性和正确性:
- 注意配置中的潜在错误
- 警告可能的错误输入
- 跳过非公共图书馆班级成员
当我拿起罐子并将其放置为:
启动时出现此小程序错误:
这是混淆之前的 jar 文件内部的内容clientOffline.jar
:
这是混淆后的 jar 文件newOne.jar
:
我希望这足以帮助我解决这个问题。我究竟做错了什么?
android - 如何关闭除混淆之外的所有 Android ProGuard 功能?
谷歌建议开发人员可能想要混淆字节码:
http://android-developers.blogspot.com/2010/09/proguard-android-and-licensing-server.html
我按照 Google 的说明获得了一个混淆的 Android 应用程序,乍一看,它似乎可以工作。但是引入了一些奇怪的错误,这些错误不在未混淆的应用程序中。我一直关闭 ProGuard 选项以获取此配置:
-dontoptimize -dontshrink -dontusemixedcaseclassnames -dontskipnonpubliclibraryclasses -dontpreverify -verbose
仍然存在错误。还有什么我可以关闭以仅获得纯粹的混淆吗?混淆会很好,但我愿意关闭 ProGuard 的其他功能。
java - 如何设置一个好的java构建环境?
Java/Eclipse。开发工作正常。我们有用于构建服务器的 Windows 或 FreeBSD。
部署虽然我想做以下事情(以一种非常自动化的方式):
1:从源代码控制中删除所有内容(perforce)
2:使用可配置的javac和参数构建所有源代码(和所有依赖项目)(我们想看看不同的编译器是否会影响性能)
3:运行proguard
4:将所有资源(.class、“res/”目录、外部.jars等)打包成一个jar。
5:创建一个.jnlp web start
6:创建本机 Windows 安装程序(有什么建议吗?)
7) 对于我们的 android 应用程序 4/5 应该构建/登录到可部署的 android 包中
我们已经尝试过 ant,但看起来非常笨重且容易出错。也许最好的方法就是编写所有脚本?似乎应该已经有一个很好的方法来做到这一点。
android - 如何在 Android 上使用混淆(使用 ProGuard)应用程序进行调试?
当我得到这样的东西
我怎样才能知道问题出在哪里并调试这个问题?我只得到了 ProGuard 的映射输出,不知道行号。谢谢。
java - 将 ProGuard 与 Android 一起使用。
我正在尝试将 ProGuard 与 Android 一起使用。我找到了几个可以使用的 ProGuard 脚本,以下是一个示例(我发现了其他几个相同或非常相似的脚本)。但是,当我尝试使用此脚本运行 ProGuard 时,出现错误:
“在 ';' 之前期望 java 类型 在文件的第 23 行..."
我对 ProGuard 完全陌生。有人可以解释这里出了什么问题
谢谢。
android - Proguard、Android 和抽象类实例化
“抽象类实例化,”你说。“不可能的!”
这是我的代码:
com.bat.baz.FooBar 是一个扩展 AbstractFoo 的私有类。如果没有 Proguard,此代码将在我的 Android 设备上运行。有了它,它在 NoSuchMethodException try/catch 上失败。
我继续在我的 Proguard 配置文件中添加语句,例如
但这并不能解决问题。如何让 Proguard 接受这是实例化 AbstractFoo 对象的有效方法?至少,如果它在没有 Proguard 的情况下工作,它应该与它一起工作。
android - 使用 IntelliJ IDEA 时如何轻松混淆 Android 应用程序?
我想有两种选择:
构建一个并行的 ANT 脚本并绕过 IDE(当 IDE 非常好时,似乎效率很低)
以某种方式将 Proguard/yGuard 或类似的东西与 IntelliJ 集成
我已经尝试将 Proguard/yGuard 的插件安装到 IntelliJ 中,但似乎都没有工作(安装正常,但没有出现在 Facets 下),实际上我不是 100% 确定这些插件会帮助我混淆,或者它们是否只是为调试提供去混淆工具。
我认为 ANT 是最好的路线,但会感谢您的想法。我只是想要一种方法来减少某人对应用程序进行逆向工程的机会,但无需花费数小时进行设置。
android - Proguard 错误:期望类路径分隔符 - 不确定我需要在哪里将路径放在引号中
错误:
我完全意识到我的问题是我在 c:\program files\eclipse 目录中有 eclipse+android - 'program' 和 'files' 之间的空间导致了这个问题。
我也知道解决方案是将这条路径放在引号中。
我的问题是在哪里放置这些引号。我有点 ANT 菜鸟:并且正在遵循我在这里找到的方向:http ://android-developers.blogspot.com/2010/09/proguard-android-and-licensing-server.html
我目前正在尝试更多地了解 ANT 如何与 PROGUARD 一起工作以知道在哪里用引号包裹路径 - 以及如何(我担心它在 XML 中并且不确定会发生什么样的处理来转义字符ETC)
我有一个备份计划将所有内容从“程序文件”中移出 - 但我真的很想正确解决这个问题,并且觉得移动项目是一种黑客/承认失败。
spring - 将 Proguard 与按名称使用 Spring @Autowired 的库一起使用
我正在使用 Proguard 来混淆具有多个 @Autowired 字段的库。混淆器正在重命名这些类字段(因为它们是类的私有/内部),因此我的 bean 无法实例化。
预混淆:
后混淆:
现在可能有很多方法可以使这些特定字段不自动连接,但我希望找到一种方法来告诉 Proguard 不要混淆任何带有重要 Spring-isms 注释的内部字段(@Autowired 等) .
任何人都知道我通常如何做到这一点?
授予