Android Studio中代码混淆

原创 2015年11月18日 18:37:29

1.在build.gradle中

buildTypes {
    release {
        minifyEnabled true  是否代码混淆
        shrinkResources true  是否自动去掉没有引用的资源
        zipAlignEnabled true  是否支持zipAlign
        jniDebuggable false   jni是否使用debug模式配置
renderscriptDebuggable false 类C脚本是否使用debug模式(作用是图形渲染) debuggable false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' signingConfig signingConfigs.release 签名配置 } debug { minifyEnabled false shrinkResources true zipAlignEnabled true jniDebuggable true renderscriptDebuggable true debuggable true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' signingConfig signingConfigs.debug }}
2.在proguard-rules.txt文件中
-optimizationpasses 5  指定代码压缩级别
-dontusemixedcaseclassnames  是否使用大小写混写
-dontskipnonpubliclibraryclasses 
-dontpreverify
-verbose   混淆是否记录日志
-dontwarn
-dontskipnonpubliclibraryclassmembers
#-dontshrink
#-dontoptimize
-ignorewarnings

-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,*Annotation*,EnclosingMethod

-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*  混淆时采用的算法

-keep class * extends android.app.Activity               保证这些类不被混淆
-keep class * extends android.app.Application
-keep class * extends android.app.Service
-keep class * extends android.content.BroadcastReceiver
-keep class * extends android.content.ContentProvider
-keep class * extends android.app.backup.BackupAgentHelper
-keep class * extends android.preference.Preference
-keep class com.android.vending.licensing.ILicensingService
-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 *;
}





版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

android studio代码混淆配置

android studio代码混淆文本编写-在build.gradle里面开启minifyEnabled true具体配置如下 debug { minifyEnable...

android studio代码混淆

为什么需要代码混淆呢?原因很简单,你的apk很容易被反编译出来,你写的代码都会被看到,因此我们需要在编译过程中对代码进行一定程度的混淆,使得别人不能反编译不出你的代码。代码混淆的好处: 代码混淆后阅读...

Android Studio 打Jar包和混淆代码。

打Jar包的几种方式:def SDK_BASENAME = "Sdk";//打包后名字 def SDK_VERSION = "_V1.0";//${defaultConfig.versionName}...

Android Studio系列之代码混淆proguardFiles

前言:android代码编译成apk后如果没有进行任何防护措施是很容易被反编译的,并且反编译的结果甚至就是简单的源码,带来的损失可大可小。幸好,AndroidStudio提供编译代码加密,即ProGu...

Android Studio多渠道打包和代码混淆教程

什么是Gradle Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的领域特定(DSL)语言。And...

Android Studio的代码混淆

与eclipse不同的是,AS下的混淆文件名为:proguard-rules.pro,放在:app/proguard-rules.pro目录下。 直接打开:app/proguard-rules.pr...

Android Studio代码混淆插件

之前给公司的App添加代码混淆,在代码的混淆过程也遇到了不少的问题,再加上最近学习了一下Android Studio插件的开发,所以就开发一个代码混淆插件方便项目的代码混淆。 截图第三方库列表清单目前...

很全的Android Studio代码混淆参考

Android studio 使用心得(五)—代码混淆和破解apk

http://www.softwareace.cn/?p=1151 这篇文章等是跟大家分享一在Android studio 进行代码混淆配置。之前大家在eclipse上也弄过代码混淆配置,其实一样,...

Android Studio实现代码混淆

对于使用签名的apk,常用的反编译之后还是能查看class文件的代码实现,对于反编译可查看个人的博客点击打开链接 使用代码混淆就能是这种常规反编译失效 1,在build.grandle添加,其中规...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)