转载自: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 即可生效;
相关推荐
android 混淆工具 android 混淆工具 android 混淆工具 android 混淆工具
Android混淆打包不混淆第三方jar包Android 混淆打包不混淆第三方jar包
android 混淆出错 Can't process class 解决办法
Android混淆技术研究,Android混淆防反编译,Android混淆4种技术手法。由爱加密小编整理
Android混淆配置,文档中梳理了配置的详解和注意信息
Android混淆编译Demo(用Android Studio 3.1.2编辑)。
直接复制这个到Android项目中即可使用,只需要添加项目中用到的第三方的混淆规则即可,如果有自己的需要最好修改一下,不修改也无大碍
Android混淆 各个版本proguard文件 Android混淆 各个版本proguard文件
在 android studio 使用自定义混淆字典进行混淆,增加app被反编译后阅读的难度, 内容为16位由0,o,O,3个字符生产的如OoO0oOoOoO0O0oO0这样的不重复字符串,使用方式:将下载的dictoO0.txt放在proguard-rules.pro同级...
android混淆及报错解决
本文主要介绍Android 混淆代码的资料,这里整理了详细资料及代码实例,有需要做Android 混淆代码的朋友可以参考下
Android SO文件保护加固——混淆篇
android 混淆器 筆記,加入避免被人反編譯的方法
android library jar文件混淆
Android资源混淆工具,给自己的应用资源“加密”,来着第三方工具
Android如何防止apk程序被反编译 亲自测试 完美混淆
NULL 博文链接:https://4225953-163-com.iteye.com/blog/1075693
包括android工程源码混淆方法、apk签名方法和apk反编译方法
Android 签名混淆打包文档,相当详细
<Android混淆技巧与反混淆-小波>,欢迎大家来下载,一起研究。