android代码混淆笔记
混淆处理的apk被反编译后代码中包名类名等都变成abcd之类。非常难看懂。
使用代码混淆。启用混淆器,对相关文件进行编辑,然后打包签名就能够了;
------------
在2.3的版本号中,项目中有这个文件 proguard.cfg (没有的能够手动加入)
加入一句: proguard.config=proguard.cfg
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 com.android.vending.licensing.ILicensingService-keepclasseswithmembernames class * {native <methods>;
}-keepclasseswithmembernames class * {public <init>(android.content.Context, android.util.AttributeSet);
}-keepclasseswithmembernames class * {public <init>(android.content.Context, android.util.AttributeSet, int);
}-keepclassmembers enum * {public static **[] values();public static ** valueOf(java.lang.String);
}-keep class * implements android.os.Parcelable {public static final android.os.Parcelable$Creator *;
}
-------------------------
在4.0以后的版本号。项目中的文件是project.properties和proguard-project.txt。
打开project.properties,取消以下这行代码的凝视:
proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
默认的设置是不带优化功能的,能够用下面设置加上代码优化功能:
#proguard.config=${sdk.dir}/tools/proguard/proguard-android-optimize.txt:proguard-project.txt
-------------------------------------------------------
proguard-project.txt 文件的一些编辑规则:
-libraryjars libs/android-support-v4.jar
-libraryjars libs 载入第三方Jar包
-ignorewarnings 去除代码中的警告
-keep class com.xxx.xxx.**
-keep 保留不混淆的类
此类的公共方法保留,不混淆。
-keep class com.xx.xx.Test{
public *;
}
保护指定的类文件和类的成员
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
----------------------------------------------------
用Eclipse工具打包签名:
在Eclipse选中project项目。右键菜单--> Android Tools
---> Export Signed Application Package...带RSA数字签名
---> Export Unsigned Application Package...不带数字签名
选择一种方式依照向导操作,生成的Apk就是混淆处理过的。
----------------------------------------
android代码混淆笔记相关推荐
- android aidl混淆代码,Android代码混淆
什么是代码混淆 代码混淆就是将代码中的各种元素,如变量,方法,类和包的名字改写成无意义的名字,增加项目反编译后被读懂的难度. Android代码混淆使用ProGuard工具,ProGuard是一个压缩 ...
- android代码混淆个人总结及踩坑
android代码混淆个人总结及踩坑 前言 公司项目使用组件化开发的形式,需要对自己负责的模块进行一些混淆配置,关于混淆相信做android开发的都或多或少有过一些接触,通过对混淆文件的配置从而将代码 ...
- android 混淆后的机制,Android 代码混淆机制
Android 代码混淆机制 由于Android项目是基于java语言的,而java属于高层抽象语言,易于反编译,其编译后的程序包包含了大量的源代码变量.函数名.数据结构等信息,根据其编译打包后的AP ...
- android加密墙,Android代码混淆加密配置(Proguard文件解析)
Android代码混淆加密配置(Proguard文件解析) Android代码混淆加密配置(Proguard文件解析) 为了防止自己的APP被轻易反编译,我们需要对APK进行混淆,或者特殊加密处理.可 ...
- android混淆语法(android代码混淆工具)
android 代码混淆算法有哪些 根据SDK的版本不同有2中不同的代码混淆方式,以上的proguard.cfg参数详解中所涉及到的信息是在较低版本SDK下的混淆脚本,事实上在高版本的SDK下混淆的原 ...
- Android 代码混淆语法讲解及常用模板(转)
转载请注明原博客地址 Android 代码混淆语法讲解及常用模板 前言 混淆对于每一个开发者来说都不陌生,对于大多数 APP 而言,在上线之前,通常会进行代码混淆,加固,防止自己的 APP 被别人轻 ...
- Android代码混淆配置说明
1.为什么需要代码混淆 Proguard混淆用于保护APP不被破解和逆向分析,Proguard通过移除没有用到的代码以及通过特定规则重命名类.变量.方法来压缩.优化.混淆你的代码.这样可以让你APK更 ...
- Android代码混淆官方实现方法
首先查看一下 "project.properties" 这个文件: # This file is automatically generated by Android Tools. ...
- 使用ProGuard进行Android代码混淆(保姆级教程)
使用ProGuard进行Android代码混淆(保姆级教程) 一.ProGuard的功能 ProGuard是一个混淆代码的开源项目,主要是用来对java代码进行混淆,当然也就可以对java代码进行混淆 ...
最新文章
- 什么是ObjCTypes?
- Python基础——正则2(0503)
- 牛客题霸 [求平方根] C++题解/答案
- centos 6.2升级6.5遇到的问题及解决方法
- cpu时间片 linux,能讲一下在Linux系统中时间片是怎么分配的还有优先级的具体算法是...
- 加版S3(I747M)的4.4.2版本,可root
- json-C使用小结
- android sdk shell,Android SDK命令行工具Monkey参数及使用解析
- linux usb有线网卡驱动_Linux系统下安装USB无线网卡驱动方法
- HBuilderX云打包提示cli版本和服务器的cli版本不一致
- java 文章目录递归(一级标题,二级标题)
- 七大行星排列图片_八大行星图片欣赏
- linux libssl.so.6,centos6 安装directadmin出现libssl.so.6找不到问题
- 怎么删除TEMP文件夹
- MPC5607B串口接收中断程序
- lucky前面加a还是an_冠词a、an和the在用法上有什么不一样的地方
- 手写汉字笔顺轨迹提取(已开源)
- 独家整理: 六款高质量的办公资源网站,疯狂提高你的工作效率
- CSS字体颜色,文本装饰线,删除线
- 如何不靠运气变得富有 (十一) —— 选择智慧、精力充沛和正直的合作伙伴
热门文章
- 改变2020年及未来的8大人工智能趋势
- 张钹、高文、杨强同台论道“AI精度与隐私的博弈
- 如何判断一个对话机器人有多智能?
- 谷歌和Facebook正在吸走欧洲的人才
- 人工智能将如何改进物联网?
- SAP LSMW 因物料描述里有换行符或者引号导致数据导入失败
- 重磅丨2018年人工智能标准化白皮书
- Python 之 matplotlib (十二) subplot
- (已解决)module ‘tensorflow‘ has no attribute ‘app‘
- 神经网络早期的M-P(Warren McCulloch-Walter Pitts)模型