`
zhonglunshun
  • 浏览: 135093 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

android studio 使用代码混淆

阅读更多

对于一些安全性要求比较高的应用,需要使用代码混淆,android  studio很好的提供了这个功能,使我们能够方便的进行代码混淆;

 

1,在build.grandle添加,其中规则写在proguard-rules.pro中,也可以自定义一个文件,将其代替,比如eclipse常用的 proguard-project.txt

buildTypes {
  release {
    signingConfig signingConfigs.release
    minifyEnabled true
    proguardFiles getDefaultProguardFile(‘proguard-android.txt‘), ‘proguard-rules.pro‘
  }
}

 

2,在proguard-rules.pro中加入以下代码,基本可以涵盖所有

-optimizationpasses 5          # 指定代码的压缩级别
-dontusemixedcaseclassnames   # 是否使用大小写混合
-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    # 保持哪些类不被混淆

-keepclasseswithmembernames class * {  # 保持 native 方法不被混淆
    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 * {     # 保持枚举 enum 类不被混淆    
    public static **[] values();    
    public static ** valueOf(java.lang.String);
}
-keep class * implements android.os.Parcelable { # 保持 Parcelable 不被混淆  
    public static final android.os.Parcelable$Creator *;
}

 

0
2
分享到:
评论

相关推荐

    Android-Androidstudio多module混淆成一个Jar

    Android studio多module混淆成一个Jar

    androidStudio代码混淆插件AndroidProguard

    得到别人写的AndroidStudio插件,先放着http://www.cnblogs.com/common1140/p/5569934.html 安装完成之后,在顶部Edit的第一个选项就是了

    android ndk+代码混淆demo

    android ndk+代码混淆demo

    Android studio 混淆配置详解

    studio 使用Proguard进行混淆,其是一个压缩、优化和混淆java字节码文件的一个工具。 功能:Shrinking(压缩)、Optimization(优化)、Obfuscattion(混淆)、Preverification(预校验)四个操作。 优点: 1.删除项目无用的...

    Android Studio混淆导出jar

    使用Android Studio进行代码混淆,具体实现去看代码 谢谢,有不足的地方请补充,大家互相学习

    Android代码混淆配置

    Android代码的混淆配置,不熟悉的可以看看挺详细

    Android Studio配置反混淆的实现

    Android Studio如何混淆 为什么要混淆 了解安卓程序编译的会知道 其实我们的apk并不是很安全,从apk从可以解包出,步骤: 将apk文件改成zip结尾 然后解压zip 然后就会发现里面有一个classes.dex dex2jar 这个工具将...

    AutoResGuardDemo:Android Studio集成资源混淆打包

    #关于Android Studio集成资源混淆打包 这个Demo是通过集成微信早前开源的资源混淆工具到Android Studio里,在生成正式包时,自动化进行资源混淆,简化操作,提高效率。主要是在gradle脚本中添加一些代码,详见 ##...

    Android studio 混淆+打包+验证是否成功

    下面了解Android studio环境下 项目混淆打包的操作。 一、打包: 即 将Android项目生成.apk文件,让用户去安装。 1、工具栏 Build-&gt;Generate Signed APK.. 2、出现这个界面,第一次进入的话编辑框都是空的,然后...

    Android studio利用gradle打jar包并混淆的方法详解

    本文主要介绍了Android studio利用gradle打jar包并混淆的方法,下面话不多说,来看看详细的介绍吧。 首先打jar包的配置很简单,使用jar的task,可以参考gradle官方文档,具体代码如下: task buildJar(type: Jar, ...

    android_最新_反编译工具.7z

    准备一个测试apk(eclipse或androidstudio打包,混淆文件为eclipse或androidstudio默认带的),如Test_android.apk,复制一个副本重命名为Test_android.zip,然后解压,你就可以看到一些东西了,不过这种方式看到的大...

    APK体积优化(附Android Studio操作指引)

    4.1 代码混淆 4.2 利用Lint查找无用代码 5. Zip格式优化 6. classes.dex优化 7. lib优化 8. 参考资料 1. 压缩APK体积的意义 随着项目的不断迭代,功能越来越多,构建出来的apk文件的大小也会越来越大,这样会导致在...

    Android蓝牙库FastBle的基础入门使用

    不好封装,可以说是原生Android最让人痛苦的地方,这是因为原生Android的代码不是很独立,与Activity、广播等相杂糅。市面上的蓝牙库也是少之又少,先看了看BleLib,感觉还是换汤不换药,用起来一点

    Android应用开发之代码混淆

    混淆器通过删除从未用过的代码和使用晦涩名字重命名类、字段和方法,对代码进行压缩,优化和混淆。结果是一个比較小的.apk文件,该文件比較难进行逆向project。因此,当你的应用程序对安全敏感(要求高),比如当你...

    Android Studio使用Kotlin时,修改代码后运行不生效的解决方法

    主要介绍了Android Studio使用Kotlin时,修改代码后运行不生效的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    apk自定义混淆字典集合.zip

    众所周知,在 android studio中的默认混淆打包出来的文件是abcdefg这种字母字典,想要修改混淆字典就得自定义配置,使用自定义混淆字典进行混淆,增加app被反编译后阅读的难度, 压缩包里面包含1il、o0O、中文、java...

    Android Studio多渠道批量打包及代码混淆

    主要介绍了Android Studio多渠道批量打包及代码混淆的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下

    Allatori android字符串混淆

    Allatori是一个Java 混淆器,它属于第二代的混淆器,因此它能够全方位的保护你的知识产权。 Allatori具有以下几种保护方式:命名混淆,...新版本支持war和ear文件格式,并且允许对需要混淆代码的应用程序添加有效日期。

Global site tag (gtag.js) - Google Analytics