`
三问飞絮
  • 浏览: 320647 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

使用ant执行ProGuard混淆Jar

    博客分类:
  • Java
阅读更多

ProGuard是一个集Java的压缩、优化、混淆三个功能一工具。提供了命令行、UI方式。以下是使用ant方式的样例

 

<proguard printseeds="on" ignorewarnings="true" optimize="true">
			<injar file="${out.jar}" />
			<outjar file="${obfuscate.jar}" />

			<libraryjar file="${java.home}/lib/rt.jar">
				<fileset dir="${root.dir}">
					<include name="libs/**/*.jar" />
					<include name="WebContent/WEB-INF/lib/*.jar" />
				</fileset>
			</libraryjar>
						
			
			<keepattribute name="LineNumberTable" />
			<!-- 保留废弃的方法 -->
			<keepattribute name="Deprecated" />
			<!-- 保留所有的注解 -->
			<keepattribute name="*Annotation*" />
			<keepattribute name="Exceptions" />
			<!-- 保留签名,解决泛型问题 -->
			<keepattribute name="Signature" />

			<!-- Preserve all public classes, and their public and protected fields
			        and methods. -->

			<keep access="public" >
				<field access="public protected" />
				<method access="public protected" />
			</keep>

			<!-- Preserve all .class method names. -->

			<keepclassmembernames access="public">
				<method type="java.lang.Class" name="class$" parameters="java.lang.String" />
				<method type="java.lang.Class" name="class$" parameters="java.lang.String,boolean" />
			</keepclassmembernames>

			<!-- Preserve all native method names and the names of their classes. -->

			<keepclasseswithmembernames>
				<method access="native" />
			</keepclasseswithmembernames>

			<!-- Preserve the methods that are required in all enumeration classes. -->

			<keepclassmembers extends="java.lang.Enum">
				<method access="public static" type="**[]" name="values" parameters="" />
				<method access="public static" type="**" name="valueOf" parameters="java.lang.String" />
			</keepclassmembers>

			<!-- Explicitly preserve all serialization members. The Serializable
			         interface is only a marker interface, so it wouldn't save them.
			         You can comment this out if your library doesn't use serialization.
			         If your code contains serializable classes that have to be backward
			         compatible, please refer to the manual. -->

			<keepclassmembers implements="java.io.Serializable">
				<field access="final" type="long" name="serialVersionUID" />
				<field access="static final" type="java.io.ObjectStreamField[]" name="serialPersistentFields" />
				<method access="private" type="void" name="writeObject" parameters="java.io.ObjectOutputStream" />
				<method access="private" type="void" name="readObject" parameters="java.io.ObjectInputStream" />
				<method type="java.lang.Object" name="writeReplace" parameters="" />
				<method type="java.lang.Object" name="readResolve" parameters="" />
			</keepclassmembers>
		</proguard>
 

分享到:
评论

相关推荐

    ant proguard 混淆编译 之Eclipse-Idea

    5. 运行Ant构建,使用`ant release`命令,它将执行ProGuard混淆过程并生成release版本的APK。 在IntelliJ IDEA中配置ProGuard: 1. IDEA虽然主要使用Gradle作为默认的构建系统,但仍然可以通过引入Ant支持来使用...

    解决proguard混淆报错-Proguard5.1

    proguard混淆jar包提示错误:Unknown verification type [*] in stack map frame 解决方案:找到proguard源码中proguard\src\proguard\classfile\ClassConstants.java类,然后修改ATTR_StackMapTable的值,将原来的...

    ant proguard 混淆编译 之Netbeans

    在完成上述配置后,你可以在NetBeans的命令行窗口中运行Ant的`proguard`目标,或者在项目构建设置中添加这个目标,使其在编译时自动执行。 4. **处理依赖库**: 如果你的应用依赖了其他库,你需要确保ProGuard...

    一步步教你使用Proguard混淆Java源代码 .docx

    使用 Proguard 混淆 Java 源代码 Proguard 是一款功能强大且广泛使用的 Java bytecode 混淆工具,它可以保护 Java 代码免受反编译和逆向工程的攻击。下面将一步步指导如何使用 Proguard 混淆 Java 源代码。 1. ...

    Proguard混淆Android/Java源代码

    ProGuard是一个广泛使用的Java类文件压缩、优化和混淆工具,能够减少生成的类文件大小,并对字节码进行混淆,提高应用的安全性。它通过移除无用的类、字段、方法和属性,优化字节码,将类名、方法名和变量名等转换为...

    Android添加Proguard混淆支持完整实例

    以下是一个基于Android SDK 1.5和Eclipse 3.5的Proguard混淆支持完整实例的详细说明。 首先,我们需要理解Proguard的基本配置。Proguard的配置文件通常命名为`proguard-project.txt`或`proguard.cfg`,位于项目的根...

    ant修改参数重新编译的 Proguard 4.7

    通过配置Ant的build.xml文件,可以自动化执行Proguard混淆过程。在Android项目中,我们通常会在build.xml文件中添加一个target,专门负责Proguard的操作。 **三、Ant配置Proguard** 1. **添加Proguard库**:首先,...

    android自动打包方法(ant+proguard+签名)知识.pdf

    本文将详细介绍如何使用Ant构建工具结合ProGuard进行代码混淆,并完成签名的过程。 #### 二、环境配置 在开始之前,需要确保以下环境已配置好: 1. **安装Java JDK**:确保系统中已安装JDK,并且环境变量设置正确...

    ant混淆打包

    4. **执行Ant构建**:在命令行中,使用`ant release`命令执行构建过程,这将调用`build.xml`中的release目标,该目标通常包含了混淆步骤。 5. **处理签名与zipalign**:混淆打包后,还需要对APK进行签名和zipalign...

    proguard7.3.0

    5. **适应性强**:ProGuard支持与构建工具如Maven、Gradle和Ant集成,使得在项目构建流程中自动化混淆成为可能。开发者可以在构建配置文件中定义混淆规则,以满足特定的混淆需求。 6. **开源**:作为开源项目,...

    最新java jar包混淆工具

    "最新Java JAR包混淆工具"提及的ProGuard正是一种广泛使用的解决方案,它能够对Java字节码进行混淆、优化和压缩,以防止未经授权的反编译和逆向工程。 **ProGuard** 是一个免费的Java类文件混淆器、优化器和 ...

    android2.3 eclipse ant混淆

    本文将深入探讨“android2.3 eclipse ant混淆”这一主题,结合标签“源码”和“工具”,我们将关注如何在Android 2.3版本中,使用Eclipse集成开发环境以及Ant构建工具进行Proguard混淆。 首先,让我们了解混淆的...

    proguard4.10.zip j2me最新版混淆器

    开发者可以将其集成到构建流程中,如Maven或Ant构建系统,通过命令行调用来执行混淆、优化和压缩过程。 **总结**: ProGuard 4.10作为J2ME平台的混淆器,提供了关键的安全性和性能优化。它的混淆功能可以保护代码免...

    Proguard4.2.zip(java编码混淆器)

    Proguard4.2.zip(java编码混淆器) doc是4.0的doc jar包是1.4.2 &lt;br&gt; ProGuard, Java class file shrinker, optimizer, and obfuscator ===========================================================...

    proguard-proguard6.2.2.zip

    1.支持ant 使用proguard标签 2.支持windows环境混淆代码 3.支持Java8+ 新版本6x系列不再提供编译好的jar包 需要自己手动编译,7系列使用的gradle编译管理 国内不太好用,6x系列基本满足Java8+ 的代码混淆,具体可以...

    proguard(java代码混淆器)v5.3.3官方版

    proguard是一个java代码混淆工具,并提供了图形化用户界面,它也可以结合Ant或J2ME Wireless Toolkit使用。通过ProGuard得到的更精简的jar文件意味着只需要更小的存储空间混淆环节会用无意义的短变量去重命名类、...

    newProguard

    找到proguard源码中proguard\...然后重新ant打包proguard,使用新的proguard来混淆就不会出现Unknown verification type [*] in stack map frame的问题。内置已重新打包好的Proguard.jar包,替换本地Proguard.jar即可用

    proguard_v5.2.1_jdk1.8.zip

    `lib`目录包含ProGuard运行所需的库文件,这些库是ProGuard执行代码优化、混淆和压缩操作所必需的。确保这些库在系统路径中可访问,以便ProGuard能正常工作。 `bin`目录下有可执行文件,如`proguard.jar`,这是...

    Proguard最新版6.0.3

    10. **逆向工程的挑战**:通过ProGuard混淆后的代码,即使被逆向工程,由于类和方法名的改变,理解和复原原始代码会变得非常困难。 综上所述,ProGuard在软件开发中扮演着重要角色,尤其是在移动应用开发中,它能够...

    proguard4.5.zip

    通过运行`proguardgui.jar`,还可以使用图形用户界面来配置和执行ProGuard任务。 2. **docs** 文件夹:此目录下通常包含ProGuard的文档,如用户手册、API参考等,这对于理解和使用ProGuard的配置选项、规则和工作...

Global site tag (gtag.js) - Google Analytics