Android代码混淆及签名.docx

Android代码混淆及签名.docx

ID:58819401

大小:278.32 KB

页数:6页

时间:2020-10-25

Android代码混淆及签名.docx_第1页
Android代码混淆及签名.docx_第2页
Android代码混淆及签名.docx_第3页
Android代码混淆及签名.docx_第4页
Android代码混淆及签名.docx_第5页
资源描述:

《Android代码混淆及签名.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Android代码混淆、签名打包apk一、代码混淆代码混淆说简单的其实就是为了防止别人反编译你的源代码,因为JAVA程序比较容易被反编译,所以如果程序中有一些比较重要的逻辑的话,通过代码混淆来处理的确可以阻止一下被人反编译。不过代码混淆还是不能阻止被反编译xml格式的布局文件,混淆的是JAVA文件。但是混淆后的代码如果经验多的话,可是可以分析出来的,但这是少数。下面开始说说这个东西是如何使用的,有两种方式可以实现代码混淆,一种是直接在eclipse中,android2.3开始支持这个功能。另一种是使用ant。首先我们会在项目中看到proguard.cfg或者prog

2、uard-project.txt文件,只需将project.properties里的分注释拿掉即可,去掉#注:有的项目下面会存在proguard-project.txt,这时你直接拿掉注释即可;自定义的时候,创建文件proguard.cfg文件,将系统自带的proguard-project.txt内容复制进去。配置proguard.cfg文件,注意事项:1、添加外部引用的外部jar包;2、保留外部jar里的类以及方法;(由于有的jar已经混淆过,再次混淆会出错)3、涉及到网络请求json数据返回的,需要将实体类保留,不参与混淆,并且每个实体类都需序列化;(和服务器端

3、实体类对应,参与混淆将无法解析)-optimizationpasses5-dontusemixedcaseclassnames-dontskipnonpubliclibraryclasses-dontpreverify-verbose-ignorewarnings-dontwarn-dontobfuscate-dontoptimize-libraryjarslibs/android-support-v4.jar-libraryjarslibs/Core.jar-libraryjarslibs/yht.BASE64Decoder.jar-dontskipnonpubl

4、iclibraryclassmembers-dontskipnonpubliclibraryclasses-optimizations!code/simplification/arithmetic,!field/*,!class/merging/*-keeppublicclass*extendsandroid.app.Activity-keeppublicclass*extendsandroid.app.Application-keeppublicclass*extendsandroid.app.Service-keeppublicclass*extendsandr

5、oid.content.BroadcastReceiver-keeppublicclass*extendsandroid.content.ContentProvider-keeppublicclass*extendsandroid.app.backup.BackupAgentHelper-keeppublicclass*extendsandroid.preference.Preference-keeppublicclasscom.android.vending.licensing.ILicensingService-keeppublicclasscom.broadt

6、ext.phreportfault.entity.**{*;}-keeppublicclasscom.broadtext.phreportfault.service.result.**{*;}-keepclassandroid.support.v4.**{*;}-keepclasscom.google.zxing.**{*;}-keepclassDecoder.BASE64Encoder.**{*;}-keepattributesSignature-keepclassmembersclass*implementsjava.io.Serializable{static

7、finallongserialVersionUID;privatestaticfinaljava.io.ObjectStreamField[]serialPersistentFields;privatevoidwriteObject(java.io.ObjectOutputStream);privatevoidreadObject(java.io.ObjectInputStream);java.lang.ObjectwriteReplace();java.lang.ObjectreadResolve();}-keepclasseswithmembernamesc

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。