码迷,mamicode.com
首页 > 移动开发 > 详细

Android之——代码混淆

时间:2015-08-09 15:36:11      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:android   代码   混淆   

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47376377

Android自身可以实现代码的混淆功能,Android集成了代码混淆的功能,这些功能在Android SDK的tools有个proguard目录,这个目录下就是提供了Andoid代码的混淆功能,我们只需要在Android项目中进行简单的配置即可。

1、proguard.cfg文件

创建Android项目之后,在Android项目根目录下有个proguard.cfg文件,这个文件中就是描述了Android的混淆配置。

具体如下:

-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

-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 *;
}

2、project.properties文件

这个文件是整个项目的环境配置文件,我们只需要在这个文件中指定代码混淆的配置即可。只需要在代码中加入一行配置

proguard.config=proguard.cfg
如下图:

技术分享

这样就实现了代码的混淆功能


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

Android之——代码混淆

标签:android   代码   混淆   

原文地址:http://blog.csdn.net/l1028386804/article/details/47376377

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!