Android混淆
来源:互联网 发布:学c和java哪个好找 编辑:程序博客网 时间:2024/06/02 02:32
转载自:http://blog.sina.com.cn/s/blog_6dee4454010125wz.html
众所周知,android的apk文件是非常容易被反编译的,这样对于开发者来说,辛辛苦苦开发应用被破解是一件很令人懊恼的事情,谷歌也认识到了这一点,所以从2.3之后就为开发者提供了一个代码混淆工具proguard,新版的adt创建的工程默认都会有多两个代码混淆文件。
proguard.cfg就是传说中的混淆脚本了,具体内容如下:
-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 *;
}
如果你的项目引入了谷歌的额外支持包support(例如 android-support-v4.jar),你可以在脚本添加一句
-dontwarn android.support.**
如果你的项目有第三方支持包,那么可以参照如下格式添加到上边的脚本中:
-libraryjars libs/base64coder.jar
好了,配置好以上文件脚本就算完工了,剩下的工作就是要脚本生效,默认混淆是不开启的,需要在project.properties文件中添加一句 proguard.config=proguard.cfg 即可生效;
最后通过导出并签名,你的apk就成功混淆了,下边是效果图:
- 2014-08-28 15:03
- 浏览 124
- 评论(0)
- 分类:编程语言
- 相关推荐
评论
发表评论
您还没有登录,请您登录后再发表评论
- 浏览: 60883 次
最近访客 更多访客>>
社区版块
- 我的资讯 (0)
- 我的论坛 (0)
- 我的问答 (0)
存档分类
- 2016-11 (1)
- 2015-06 (1)
- 2014-11 (1)
- 更多存档...
最新评论
- Android混淆
- android 混淆
- Android 混淆
- Android-混淆
- Android 混淆
- android 混淆
- android 混淆
- android 混淆
- android混淆
- android混淆
- android混淆
- Android混淆
- android 混淆
- android混淆
- android混淆
- android混淆
- android混淆
- Android混淆
- sql语句对日期的处理
- android广播机制
- 实时全局光照!SVOGI in CryENGINE
- 打印出现:You've implemented -[<UIApplicationDelegate> application:didReceiveRemoteNotification:
- 关于windows下VMware workstation pro中安装Linux OS选择网络连接方式的说明
- Android混淆
- 常用DOM方法
- android.os包中一些类的使用
- emWin 2天速成实例教程005_控件聚焦和用户消息的使用方法
- 12款多媒体能力SDK与开发平台盘点
- Android深入浅出之Audio 第一部分 AudioTrack分析
- 虚拟机,开发板,笔记本相互连接
- ScrollView和HorizontalScrollView常用属性,及禁止滑动
- JNI在Android开发中的应用之--用AudioRecord录音,用AudioTrack播放声音.
参考知识库