`
xuanzhui
  • 浏览: 201544 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Android混淆编译

阅读更多

1. Android Studio / Gradle

如果有多个module,只要对application module定义混淆编译即可,

对application module的build.gradle,修改minifyEnabled为true

 

android {
	//...

    buildTypes {
        release {
            minifyEnabled true  //混淆打包
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

 Android Studio会同时使用预定义(默认)的混淆编译规则和自定义的混淆规则(在proguard-rules.pro文件中)。

Android ProGuard Doc

The getDefaultProguardFile('proguard-android.txt') method obtains the default ProGuard settings from the Android SDK tools/proguard/ folder.

 

如果在当前的application module或者依赖的library module中使用了第三方的库,并不需要显式添加规则

-libraryjars xxx

添加了反而有可能在打包的时候遭遇同一个jar多次被指定的错误,

一般只需要添加忽略警告和保持某些class不被混淆的声明。

例如

 

#忽略警告的声明
-dontwarn org.androidannotations.api.rest.**

#保留签名 这个比较重要
-keepattributes Signature

#只有一个 * 表示仅仅是该目录下的类不混淆,子目录依然会被混编
-keep class cn.beecloud.* { *; }

#两个 * 表示该目录下的所有类 包括子目录下的都不混淆编译
-keep class com.google.** { *; }

#一般用到的自定义bean(entity)也需要添加例外
#...

 

 

2. Eclipse ADT

在项目根目录下文件 project.properties 中添加

proguard.config=proguard-project.txt

 

然后在项目根目录下文件 proguard-project.txt 中定义混淆内容,需要添加的内容相对来说比较多,而且

-libraryjars xxx

也是必须的。

 

不额外介绍,网上资源比较多。

分享到:
评论

相关推荐

    Android混淆编译Demo

    在这个"Android混淆编译Demo"中,我们将深入探讨如何在Android Studio 3.1.2环境下进行混淆配置和编译。 首先,混淆是通过ProGuard工具实现的,它是一个Java字节码混淆器、优化器和裁剪器。在Android Studio中,...

    android混淆编译代码 防止反编译

    本文将详细介绍如何在Android项目中进行代码混淆,以防止反编译。 首先,我们需要在项目文件中进行配置。在Android项目中,找到`project.properties`文件,通常位于项目的根目录下。在文件的最后添加一行`proguard....

    Android反编译工具包(最完整的Android反编译工具包)

    4. **ProGuard** 的逆操作工具,如 **dexGuard** 或 **Obfuscator-IL**:ProGuard是Android开发中常用的代码混淆工具,这些逆操作工具可以帮助我们还原被混淆的代码。 5. **Smali/baksmali**:Smali是一种Dalvik...

    代码混淆—关于android被反编译的两种解决方案

    本文将深入探讨两种防止Android应用被反编译的策略:代码混淆和使用安全工具。 首先,我们来了解一下什么是代码混淆。代码混淆是一种通过改变代码的可读性来增加其复杂性的技术,主要是通过对变量名、函数名和类名...

    android反编译工具

    7. **dex Hunter**:这是一款强大的APK分析工具,不仅包括反编译功能,还提供了动态分析、混淆代码检测以及恶意行为识别等功能。 8. **Androguard**:Androguard是一个开源的Android安全分析框架,可以用来分析APK...

    Android 反编译和代码混淆

    因此,了解并掌握Android的反编译和代码混淆技术对于保护应用的知识产权和用户数据至关重要。 **一、Android反编译** 1. ** Dex2Jar 和 JD-GUI**: Dex2Jar是一个将.dex文件转换为.jar文件的工具,而JD-GUI则是一个...

    android自定义混淆字典

    在 android studio 使用自定义混淆字典进行混淆,增加app被反编译后阅读的难度, 内容为16位由0,o,O,3个字符生产的如OoO0oOoOoO0O0oO0这样的不重复字符串,使用方式:将下载的dictoO0.txt放在proguard-rules.pro同级...

    android反编译工具(dex2jar,apk2java)

    在Android应用开发中,有时需要对已有的APK文件进行逆向工程,以理解其工作...在实际操作中,根据具体需求选择合适的工具,并结合其他辅助工具,如代码混淆工具ProGuard,可以提升软件的安全性和难以被反编译的难度。

    Android反编译工具包

    本文将深入探讨Android反编译的相关知识,包括为什么要反编译,常用的工具,以及如何使用这些工具。 一、为什么进行Android反编译 1. 安全分析:开发者或安全研究人员可以通过反编译来检查应用是否存在潜在的安全...

    Android 反编译可视化操作工具

    这就是Android反编译的作用。本文将详细介绍一款名为"Android反编译可视化操作工具"的实用软件,它使得这个过程变得更加直观和便捷。 这款工具的核心优势在于它的可视化界面,开发者无需再通过复杂的命令行操作来...

    android反编译xml、layout

    - **权限问题**: 对于受保护的应用,反编译可能会遇到加密、混淆等问题,这时可能需要结合其他逆向工程工具,如dex2jar、JD-GUI等,来进一步解析代码逻辑。 - **资源ID再生**: `apktool`在反编译过程中会重新生成...

    android反编译工具包

    此外,开发者可能会采用混淆、加密等技术来保护代码,增加反编译的难度。 8. **实际应用场景**:反编译工具在多种情况下派上用场,比如学习他人的实现技巧、查找bug、调试兼容性问题,甚至在安全审计中检测潜在的...

    android 反编译小工具

    在Android应用开发中,了解如何反编译APK文件是一项重要的技能,这有助于开发者学习其他应用的实现方式、调试或修复问题,甚至进行安全分析。本文将深入探讨“android 反编译小工具”这一主题,它是一个简单易用的...

    android 混淆工具

    Android混淆工具就是用来提升应用程序安全性的一种手段,它能够有效地保护代码不被逆向工程分析,降低恶意攻击的风险。本篇将详细介绍Android混淆工具,尤其是其中的经典工具ProGuard。 Android混淆工具的主要功能...

    Android菜鸟日记25-android反编译

    在Android开发过程中,有时我们需要对已有的APK文件进行反编译,以便了解其内部工作原理、学习他人代码或者进行二次开发。这篇“Android菜鸟日记25-android反编译”将带你走进Android反编译的世界,揭示APK背后的...

    android 反编译jar包

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

    ant proguard 混淆编译 之Eclipse-Idea

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

    Android反编译全套工具

    本资源"Android反编译全套工具"提供了一套常用的Android反编译工具,包括dex2jar、apktool和jd-gui,这些工具对于理解APK的工作原理、查找bug或者研究竞品功能非常有帮助。 1. **dex2jar**:这个工具主要用于将...

    Android混淆技术

    Android混淆技术是Android应用开发者用于提升应用安全性的重要手段,主要目的是为了防止应用被反编译。在移动应用领域,反编译是一个常见的问题,特别是在应用包含敏感数据或者进行商业运营时,防止代码泄露变得尤为...

Global site tag (gtag.js) - Google Analytics