android代码混淆及签名

上传人:F****n 文档编号:97805290 上传时间:2019-09-06 格式:DOCX 页数:6 大小:282KB
返回 下载 相关 举报
android代码混淆及签名_第1页
第1页 / 共6页
android代码混淆及签名_第2页
第2页 / 共6页
android代码混淆及签名_第3页
第3页 / 共6页
android代码混淆及签名_第4页
第4页 / 共6页
android代码混淆及签名_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《android代码混淆及签名》由会员分享,可在线阅读,更多相关《android代码混淆及签名(6页珍藏版)》请在金锄头文库上搜索。

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

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

3、zationpasses 5-dontusemixedcaseclassnames-dontskipnonpubliclibraryclasses-dontpreverify-verbose-ignorewarnings-dontwarn-dontobfuscate -dontoptimize -libraryjars libs/android-support-v4.jar-libraryjars libs/Core.jar-libraryjars libs/yht.BASE64Decoder.jar-dontskipnonpubliclibraryclassmembers-dontskipn

4、onpubliclibraryclasses-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.BroadcastRec

5、eiver-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-keep public class com.broadtext.phreportfault

6、.entity.*;-keep public class com.broadtext.phreportfault.service.result.*;-keep class android.support.v4.*;-keep class com.google.zxing.*;-keep class Decoder.BASE64Encoder.*;-keepattributes Signature-keepclassmembers class * implements java.io.Serializable static final long serialVersionUID; private

7、 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 ;-keepclasseswithmember

8、s class * public (android.content.Context, android.util.AttributeSet);-keepclasseswithmembers class * public (android.content.Context, android.util.AttributeSet, int);-keepclassmembers class * extends android.app.Activity public void *(android.view.View);-keepclassmembers enum * public static * valu

9、es(); 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选择密钥,输入密码结束!在能力与知识结构方面,要求学生应具有扎实的专业和日语语言基础,熟练掌握日语听、说、读、写、译的基本技能;了解日本社会及日本文化等方面的基本知识,熟悉日本国情,具有一定的日本人文知识及运用这些知识与日本人进行交流的能力。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号