混淆文件编写:保存为.pro文件
-injars androidtest.jar【jar包所在地址】
-outjars out【输出地址】
-libraryjars 'D:\android-sdk-windows\platforms\android-9\android.jar' 【引用的库的jar,用于解析injars所指定的jar类】
-optimizationpasses 5
-dontusemixedcaseclassnames 【混淆时不会产生形形色色的类名 】
-dontskipnonpubliclibraryclasses 【指定不去忽略非公共的库类。 】
-dontpreverify 【不预校验】
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/* 【优化】
-keep public class * extends android.app.Activity 【不进行混淆保持原样】
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class com.android.vending.licensing.ILicensingService
-keep public abstract interface com.asqw.android.Listener{
public protected <methods>; 【所有方法不进行混淆】
}
-keep public class com.asqw.android{
public void Start(java.lang.String); 【对该方法不进行混淆】
}
-keepclasseswithmembernames class * { 【保护指定的类和类的成员的名称,如果所有指定的类成员出席(在压缩步骤之后)】
native <methods>;
}
-keepclasseswithmembers class * { 【保护指定的类和类的成员,但条件是所有指定的类和类成员是要存在。】
public <init>(android.content.Context, android.util.AttributeSet);
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclassmembers class * extends android.app.Activity {【保护指定类的成员,如果此类受到保护他们会保护的更好 】
public void *(android.view.View);
}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keep class * implements android.os.Parcelable {【保护指定的类文件和类的成员】
public static final android.os.Parcelable$Creator *;
}
转自:http://blog.csdn.net/vrix/article/details/7100841
相关推荐
android proguard5.3.3混淆包 替换Jar包以后使 混淆的类名方法名变成空白 使用方法 直接 替换 5.3.3版本的 混淆jar包 Mac 路径为 Contents/gradle/m2repository/net/sf/proguard/proguard-base Win gradle/m2...
Java的Jar包混淆器ProGuard v3.8是一款强大的代码优化和保护工具,主要用于Java和Android应用程序。在软件开发过程中,源代码的安全性和保密性至关重要,而ProGuard提供了一种有效的解决方案,它能够对编译后的字节...
Android JAR 包混淆详解 Android JAR 包混淆是一种保护 Java 代码的方式,它可以将 JAR 包中的代码混淆,使得攻击者无法轻易地反编译和盗用代码。混淆过程中,需要使用 ProGuard 工具,该工具可以将 JAR 包中的代码...
总结,Java jar包的混淆加密是提升代码安全的重要手段,通过ProGuard等混淆工具和加密技术,可以有效降低源代码被逆向工程分析的风险。然而,安全是一个持续的过程,开发者应始终保持警惕,及时更新和优化保护策略。
5. **预校验**:对于Android应用,ProGuard会进行Dalvik字节码的预校验,确保混淆后的代码能在Android设备上正确运行。 ### 3. ProGuard配置 ProGuard的配置文件通常为`proguard.cfg`或`proguard-project.txt`,...
6. **输出**:最后,ProGuard将混淆和优化后的结果输出到指定的目录,供打包成APK或JAR使用。 **注意事项** 1. **保留关键类和方法**:混淆时必须确保关键的类和方法不被混淆,例如那些公开的API接口,否则可能...
ProGuard是一款强大的Java字节码处理...总之,ProGuard混淆是Android开发中的重要环节,它能提高应用的安全性,但同时也需要谨慎处理,避免因混淆导致的问题。熟悉混淆规则和错误排查方法,是每个开发者必备的技能。
混淆jar包在Eclipse中的过程与Android Studio类似,也需要编写ProGuard规则,并在导出jar前进行混淆。 总的来说,Android Studio和Eclipse都提供了生成和混淆jar包的功能,但Android Studio的Gradle构建系统使得...
下面将详细介绍如何在Android Studio中创建JAR包以及混淆处理。 首先,打开Android Studio项目,进入你需要打包的模块。在项目视图中,确保你选中的模块是包含你要打包的类和资源的。如果你的项目是多模块的,选择...
### Android工程正确导入jar包的方法 在Android开发过程中,经常需要使用第三方库来实现特定功能或简化开发流程。这些第三方库通常是以jar包的形式提供的。本文将详细介绍如何正确地将jar包导入Android项目中,并...
二、使用 Android SDK 提供的 ProGuard 工具混淆 jar 文件 Android SDK 提供了 ProGuard 工具,可以对 jar 文件进行混淆。ProGuard 是一个 Java 类文件混淆和优化工具,可以减小代码的大小,提高代码的安全性。 ...
`proguard-base-5.2.1-sources.jar` 是ProGuard 5.2.1版本的源码包,开发者可以通过查看源码了解其内部工作原理,学习如何配置和使用ProGuard。 `proguard-base-5.2.1.jar` 是ProGuard 5.2.1的二进制库文件,包含了...
3. 运行混淆:执行构建过程,ProGuard会处理字节码并生成混淆后的jar包。 R8是Google推出的新型混淆工具,它是Android Studio 3.4及更高版本默认使用的混淆器。R8比ProGuard更快,且生成的代码体积更小。使用R8的...
在Android开发过程中,有时我们需要对已有的jar包进行反编译,以便查看其源代码、理解内部实现或者进行二次开发。这个过程涉及到一系列的技术和工具,主要包括dex2jar、JD-GUI、Apktool等。下面将详细介绍这些知识点...
为了保护应用程序不被恶意篡改或逆向工程,开发者通常会采用一系列技术手段,其中就包括使用`ProGuard`进行代码混淆以及利用`dex2jar`进行反编译。本文将详细讲解这两个工具的工作原理、使用方法及其在实际应用中的...
ProGuard是一个广泛使用的Java类文件压缩、优化和混淆工具,能够减少生成的类文件大小,并对字节码进行混淆,提高应用的安全性。它通过移除无用的类、字段、方法和属性,优化字节码,将类名、方法名和变量名等转换为...
本资源"proguard-base-6.0.3 -_混淆as_"正是为这个目的而提供的,它是一个用于Android Studio (AS) 的混淆工具的jar包,版本号为6.0.3。这个包可以替换原有的6.0.3版本,以加强应用的安全性。 ProGuard是Android...
在Android开发中,为了保护应用的安全性和优化代码,开发者通常会使用ProGuard工具进行混淆编译。本篇文章将聚焦于如何在Eclipse和IntelliJ IDEA(Idea)这两个不同的集成开发环境中配置并使用ProGuard,以实现对Ant...
本篇将详细讲解如何在Android Studio中打包Java库(Jar包)以及如何进行混淆处理。 一、Android Studio打Jar包 1. **创建Java Library模块** 在开始打包前,首先需要有一个Java库项目。在Android Studio中,可以...
本示例聚焦于“Gradle混淆_打包Jar包基础DEMO”,它涉及到两个核心概念:Gradle混淆和使用Gradle打包Java应用程序为Jar包。 首先,让我们深入了解一下Gradle混淆。混淆是在Android开发中常用来保护代码安全、减小...