`
chriszeng87
  • 浏览: 740948 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android工程创建的jar包使用proguard进行混淆

阅读更多

混淆文件编写:保存为.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混淆包

    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的Jar包混淆器ProGuard v3.8是一款强大的代码优化和保护工具,主要用于Java和Android应用程序。在软件开发过程中,源代码的安全性和保密性至关重要,而ProGuard提供了一种有效的解决方案,它能够对编译后的字节...

    android jar包混淆

    Android JAR 包混淆详解 Android JAR 包混淆是一种保护 Java 代码的方式,它可以将 JAR 包中的代码混淆,使得攻击者无法轻易地反编译和盗用代码。混淆过程中,需要使用 ProGuard 工具,该工具可以将 JAR 包中的代码...

    对java jar包实现混淆加密

    总结,Java jar包的混淆加密是提升代码安全的重要手段,通过ProGuard等混淆工具和加密技术,可以有效降低源代码被逆向工程分析的风险。然而,安全是一个持续的过程,开发者应始终保持警惕,及时更新和优化保护策略。

    ProGuard工具包,Java代码混淆

    5. **预校验**:对于Android应用,ProGuard会进行Dalvik字节码的预校验,确保混淆后的代码能在Android设备上正确运行。 ### 3. ProGuard配置 ProGuard的配置文件通常为`proguard.cfg`或`proguard-project.txt`,...

    proguard界面混淆版

    6. **输出**:最后,ProGuard将混淆和优化后的结果输出到指定的目录,供打包成APK或JAR使用。 **注意事项** 1. **保留关键类和方法**:混淆时必须确保关键的类和方法不被混淆,例如那些公开的API接口,否则可能...

    proguard混淆步骤操作流程

    ProGuard是一款强大的Java字节码处理...总之,ProGuard混淆是Android开发中的重要环节,它能提高应用的安全性,但同时也需要谨慎处理,避免因混淆导致的问题。熟悉混淆规则和错误排查方法,是每个开发者必备的技能。

    Android studio和Eclipse分别生成jar包并混淆jar包的demo

    混淆jar包在Eclipse中的过程与Android Studio类似,也需要编写ProGuard规则,并在导出jar前进行混淆。 总的来说,Android Studio和Eclipse都提供了生成和混淆jar包的功能,但Android Studio的Gradle构建系统使得...

    Android Studio 创建 Jar包

    下面将详细介绍如何在Android Studio中创建JAR包以及混淆处理。 首先,打开Android Studio项目,进入你需要打包的模块。在项目视图中,确保你选中的模块是包含你要打包的类和资源的。如果你的项目是多模块的,选择...

    android工程正确导入jar包

    ### Android工程正确导入jar包的方法 在Android开发过程中,经常需要使用第三方库来实现特定功能或简化开发流程。这些第三方库通常是以jar包的形式提供的。本文将详细介绍如何正确地将jar包导入Android项目中,并...

    android library文件混淆

    二、使用 Android SDK 提供的 ProGuard 工具混淆 jar 文件 Android SDK 提供了 ProGuard 工具,可以对 jar 文件进行混淆。ProGuard 是一个 Java 类文件混淆和优化工具,可以减小代码的大小,提高代码的安全性。 ...

    proguard混淆器

    `proguard-base-5.2.1-sources.jar` 是ProGuard 5.2.1版本的源码包,开发者可以通过查看源码了解其内部工作原理,学习如何配置和使用ProGuard。 `proguard-base-5.2.1.jar` 是ProGuard 5.2.1的二进制库文件,包含了...

    实现对jar包的混淆加密

    3. 运行混淆:执行构建过程,ProGuard会处理字节码并生成混淆后的jar包。 R8是Google推出的新型混淆工具,它是Android Studio 3.4及更高版本默认使用的混淆器。R8比ProGuard更快,且生成的代码体积更小。使用R8的...

    android 反编译jar包

    在Android开发过程中,有时我们需要对已有的jar包进行反编译,以便查看其源代码、理解内部实现或者进行二次开发。这个过程涉及到一系列的技术和工具,主要包括dex2jar、JD-GUI、Apktool等。下面将详细介绍这些知识点...

    ProGuard混淆与dex2jar反编译工具

    为了保护应用程序不被恶意篡改或逆向工程,开发者通常会采用一系列技术手段,其中就包括使用`ProGuard`进行代码混淆以及利用`dex2jar`进行反编译。本文将详细讲解这两个工具的工作原理、使用方法及其在实际应用中的...

    Proguard混淆Android/Java源代码

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

    proguard-base-6.0.3 -_混淆as_

    本资源"proguard-base-6.0.3 -_混淆as_"正是为这个目的而提供的,它是一个用于Android Studio (AS) 的混淆工具的jar包,版本号为6.0.3。这个包可以替换原有的6.0.3版本,以加强应用的安全性。 ProGuard是Android...

    ant proguard 混淆编译 之Eclipse-Idea

    在Android开发中,为了保护应用的安全性和优化代码,开发者通常会使用ProGuard工具进行混淆编译。本篇文章将聚焦于如何在Eclipse和IntelliJ IDEA(Idea)这两个不同的集成开发环境中配置并使用ProGuard,以实现对Ant...

    Android Studio 打Jar包 Demo

    本篇将详细讲解如何在Android Studio中打包Java库(Jar包)以及如何进行混淆处理。 一、Android Studio打Jar包 1. **创建Java Library模块** 在开始打包前,首先需要有一个Java库项目。在Android Studio中,可以...

    Gradle混淆_打包Jar包基础DEMO

    本示例聚焦于“Gradle混淆_打包Jar包基础DEMO”,它涉及到两个核心概念:Gradle混淆和使用Gradle打包Java应用程序为Jar包。 首先,让我们深入了解一下Gradle混淆。混淆是在Android开发中常用来保护代码安全、减小...

Global site tag (gtag.js) - Google Analytics