收藏 分销(赏)

Android代码混淆及签名.doc

上传人:二*** 文档编号:4744512 上传时间:2024-10-11 格式:DOC 页数:6 大小:291KB 下载积分:5 金币
下载 相关 举报
Android代码混淆及签名.doc_第1页
第1页 / 共6页
本文档共6页,全文阅读请下载到手机保存,查看更方便
资源描述
. . . . . Android代码混淆、签名打包apk 一、 代码混淆 代码混淆说简单的其实就是为了防止别人反编译你的源代码,因为JAVA程序比拟容易被反编译,所以如果程序中有一些比拟重要的逻辑的话,通过代码混淆来处理确实可以阻止一下被人反编译。 不过代码混淆还是不能阻止被反编译xml格式的布局文件,混淆的是JAVA文件。但是混淆后的代码如果经验多的话,可是可以分析出来的,但这是少数。 下面开始说说这个东西是如何使用的,有两种方式可以实现代码混淆,一种是直接在eclipse中,android 2.3开始支持这个功能。另一种是使用ant。 首先我们会在项目中看到proguard.cfg或者proguard-project.txt文件,只需将project.properties里的分注释拿掉即可,去掉# 注:有的项目下面会存在proguard-project.txt,这时你直接拿掉注释即可;自定义的时候,创建文件proguard.cfg文件,将系统自带的proguard-project.txt容复制进去。 配置proguard.cfg文件, 考前须知:1、添加外部引用的外部jar包; 2、保存外部jar里的类以与方法;〔由于有的jar已经混淆过,再次混淆会出错〕 3、涉与到网络请求json数据返回的,需要将实体类保存,不参与混淆,并且每个实体类都需序列化;〔和服务器端实体类对应,参与混淆将无法解析〕 -optimizationpasses 5 -dontusemixedcaseclassnames -dontskipnonpubliclibraryclasses -dontpreverify -verbose -ignorewarnings -dontwarn -dontobfuscate -dontoptimize -libraryjarslibs/android-support-v4.jar -libraryjarslibs/Core.jar -libraryjarslibs/yht.BASE64Decoder.jar -dontskipnonpubliclibraryclassmembers -dontskipnonpubliclibraryclasses -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 .android.vending.licensing.ILicensingService -keep public class .broadtext.phreportfault.entity.**{*;} -keep public class .broadtext.phreportfault.service.result.**{*;} -keep class android.support.v4.**{*;} -keep class .google.zxing.**{*;} -keep class Decoder.BASE64Encoder.**{*;} -keepattributes Signature -keepclassmembers class * implements java.io.Serializable { static final long serialVersionUID; private static final java.io.ObjectStreamField[] serialPersistentFields; private void writeObject(java.io.ObjectOutputStream); private void readObject(java.io.ObjectInputStream); java.lang.Object writeReplace(); java.lang.Object readResolve(); } -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); } -keepclassmembersenum * { public static **[] values(); public static ** valueOf(java.lang.String); } -keep class * implements android.os.Parcelable { public static final android.os.Parcelable$Creator *; } -keep class * implements android.os.Serializable { *; } -keepclassmembers class fqcn.of.javascript.interface.for.webview { public *; } 二、 数字签名 所有的Android应用都必须有数字签名,没有不存在数字签名的应用,包括模拟器上运行的。Android系统不会安装没有数字证书的应用。 签名步骤: 右击项目,选择下列图中的1或者2 当已生成过密钥库,直接使用,无密钥库那么选择下的create new keystore 选择密钥,输入密码 完毕! 6 / 6
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服