android 代码混淆模板

#指定代码的压缩级别
-optimizationpasses 5
#包明不混合大小写
-dontusemixedcaseclassnames
#不去忽略非公共的库类
-dontskipnonpubliclibraryclasses#优化  不优化输入的类文件
-dontoptimize#预校验
-dontpreverify#混淆时是否记录日志
-verbose# 混淆时所采用的算法
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
#保护注解
-keepattributes *Annotation*
# 保持哪些类不被混淆
-keep public class * extends android.app.Fragment
-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
#如果有引用v4包可以添加下面这行
-keep public class * extends android.support.v4.app.Fragment
#忽略警告
-ignorewarning
#####################记录生成的日志数据,gradle build时在本项目根目录输出################
#apk 包内所有 class 的内部结构
-dump class_files.txt
#未混淆的类和成员
-printseeds seeds.txt
#列出从 apk 中删除的代码
-printusage unused.txt
#混淆前后的映射
-printmapping mapping.txt
#####################记录生成的日志数据,gradle build时 在本项目根目录输出-end################
################<span></span>混淆保护自己项目的部分代码以及引用的第三方jar包library#########################
#-libraryjars libs/umeng-analytics-v5.2.4.jar
#-libraryjars libs/alipaysd<span></span>k.jar
#<span></span>-libraryjars libs/alipaysecsdk.jar
#-libraryjars libs/alipayutdid.jar
#-libraryjars libs/wup-1.0.0-SNAPSHOT.jar
#-libraryjars libs/weibosdkcore.jar
#三星应用市场需要添加:sdk-v1.0.0.jar,look-v1.0.1.jar
#-libraryjars libs/sdk-v1.0.0.jar
#-libraryjars libs/look-v1.0.1.jar
#我是以libaray的形式引用了一个图片加载框架,如果不想混淆 keep 掉
-keep class com.nostra13.universalimageloader.** { *; }
#友盟
-keep class com.umeng.**{*;}
#支付宝
-keep class com.alipay.android.app.IAliPay{*;}
-keep class com.alipay.android.app.IAlixPay{*;}
-keep class com.alipay.android.app.IRemoteServiceCallback{*;}
-keep class com.alipay.android.app.lib.ResourceMap{*;}
#信鸽推送
-keep class com.tencent.android.tpush.**  {* ;}
-keep class com.tencent.mid.**  {* ;}
#自己项目特殊处理代码
#忽略警告
-dontwarn com.veidy.mobile.common.**
#保留一个完整的包
-keep class com.veidy.mobile.common.** {*;}
-keep class  com.veidy.activity.login.WebLoginActivity{*;}
-keep class  com.veidy.activity.UserInfoFragment{*;}
-keep class  com.veidy.activity.HomeFragmentActivity{*;}
-keep class  com.veidy.activity.CityActivity{*;}
-keep class  com.veidy.activity.ClinikActivity{*;}
#如果引用了v4或者v7包
-dontwarn android.support.**
############<span></span>混淆保护自己项目的部分代码以及引用的第三方jar包library-end##################
-keep public class * extends android.view.View {public <init>(android.content.Context);public <init>(android.content.Context, android.util.AttributeSet);public <init>(android.content.Context, android.util.AttributeSet, int);public void set*(...);
}
#保持 native 方法不被混淆
-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);
}
#保持 Parcelable 不被混淆
-keep class * implements android.os.Parcelable {public static final android.os.Parcelable$Creator *;
}
#保持 Serializable 不被混淆
-keepnames class * implements java.io.Serializable
#保持 Serializable 不被混淆并且enum 类也不被混淆
-keepclassmembers class * implements java.io.Serializable {static final long serialVersionUID;private static final java.io.ObjectStreamField[] serialPersistentFields;!static !transient <fields>;!private <fields><span></span>;!private <methods>;private void writeObject(java.io.ObjectOutputStream);private void readObject(java.io.ObjectInputStream);java.lang.Object writeReplace();java.lang.Object readResolve();
}
#保持枚举 enum 类不被混淆 如果混淆报错,建议直接使用上面的 -keepclassmembers class * implements java.io.Serializable即可
#-keepclassmembers enum * {
#  public static **[] values();
#  public static ** valueOf(java.lang.String);
#}
-keepclassmembers class * {public void *ButtonClicked(android.view.View);
}
#不混淆资源类
-keepclassmembers class **.R$* {public static <fields>;
}
#避免混淆泛型 如果混淆报错建议关掉
#–keepattributes Signature
#移除log 测试了下没有用还是建议自己定义一个开关控制是否输出日志
#-assumenosideeffects class android.util.Log {
#    public static boolean isLoggable(java.lang.String, int);
#    public static int v(...);
#    public static int i(...);
#    public static int w(...);
#    public static int d(...);
#    public static int e(...);
#}

文章不错,引用来自:http://my.oschina.net/kooeasy/blog/479083?p=1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/283822.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue+vuecli+webapck2实现多页面应用

准备工作 在本地用vue-cli新建一个项目&#xff0c;首先安装vue-cil&#xff0c;命令&#xff1a; npm install -g vue-cli 新建一个vue项目,创建一个基于"webpack"的项目,项目名为vuedemo&#xff1a; vue init webpack vuedemo 这里有一个地方需要改一下&#xff0…

一文把Docker、Kubernetes搞懂:什么是Docker?什么是Kubernetes?Docker和Kubernetes有什么关系和区别?通俗解释Docker、Kubernetes

一、Docker解决的问题 1、统一标准 ● 应用构建 ○ Java、C、JavaScript——编程各异 ○ 打成软件包 ○ .exe&#xff08;类似Windows&#xff0c;最终也只是生产exe执行&#xff09; ○ 使用docker build … 打包成 镜像——这就类似于exe ● 应用分享 ○ 所有软件的镜像放到一…

Python-高阶函数

#encodingUTF-8import sys # 高阶函数高阶函数实际上是参数可接受函数的函数即参数为函数的函数 # map()map()接收两个参数&#xff0c;一个是函数&#xff0c;一个是序列&#xff0c;将此函数分别作用于该序列的每个元素&#xff0c;返回处理后的序列结果def c2(x): return x…

程序员双手飞快敲键盘的时候是在敲代码吗?

当你看到一个程序员的两只手在键盘上上下翻飞&#xff0c;行云流水的时候&#xff0c;多半不是在敲击代码大概率是在跟产品经理撕逼讨论需求另一种可能就是在跟测试打口水仗10%几率是在论坛码字摸鱼或者和人家开喷了。1%几率是在跟MM聊天可以手速飞快而不需要停下思考的代码&am…

erlang-17版本的编码方式

最近在腾讯云租了个云主机&#xff1a;镜像提供方&#xff1a;选择服务市场 &#xff1a;多语言环境&#xff08;Centos 7.0 64位 Python Perl Ruby Erlang &#xff09; 他们集成软件安装的是erlang-17版本&#xff0c;我之前用erlang-16版本一直没遇到什么问题&#xff1b; 这…

几分钟上线一个网站 真是神器

1、ToolJet 简介 ToolJet 是一个开源的低代码框架&#xff0c;可以快速构建和部署内部工具&#xff0c;而无需工程团队付出太多努力。您可以连接到您的数据源&#xff0c;例如数据库&#xff08;如 PostgreSQL、MongoDB、Elasticsearch 等&#xff09;、API 端点&#xff08;To…

翻译:用户变量(User-Defined Variable)(已提交到MariaDB官方手册)

本文为mariadb官方手册&#xff1a;User-Defined Variables的译文。 原文&#xff1a;https://mariadb.com/kb/en/user-defined-variables/我提交到MariaDB官方手册的译文&#xff1a;https://mariadb.com/kb/zh-cn/user-defined-variables/ 用户变量是指由用户创建&#xff0…

移植Python3到TQ2440(一)

平台 硬件&#xff1a;TQ2440 64MB内存 256MB NandFlashbootloader&#xff1a;U-Boot 2015.04kernel&#xff1a;linux-4.9Python: Python-3.6.0工具链&#xff1a;arm-none-linux-gnueabi-gcc 4.8.3概述 现在树莓派很火&#xff0c;在树莓派上面用户可以通过Python来控制板…

WinForm(六)组合布局属性

WinForm是基于控件的&#xff0c;不像codemark的架构&#xff0c;可以非常灵活的用mark来布局&#xff0c;它只能用控件布局属性和窗口控件来完成对UI的布局。容器控件有一组控件叫容器控件&#xff0c;对布局特别有作用&#xff0c;它们分别是&#xff1a;TableLayoutPanel&am…

Qt 网络编程

QT 网络编程 TCP 编程 模块引入 QT network 头文件 #include <QTcpServer> // TCP服务器端使用 #include <QTcpSocket> // TCP服务器和客户端都使用 编程流程 服务端 1&#xff09;实例化 QTcpServer 对象 -----------------------------> socket 2&#x…

HDU 5037 Frog(2014年北京网络赛 F 贪心)

开始就觉得有思路&#xff0c;结果越敲越麻烦。。。   题意很简单&#xff0c;就是说一个青蛙从0点跳到m点&#xff0c;最多可以跳l的长度&#xff0c;原有石头n个&#xff08;都仅表示一个点&#xff09;。但是可能跳不过去&#xff0c;所以你是上帝&#xff0c;可以随便在哪…

Kafka高性能高吞吐的原因总结

1、磁盘顺序读写 保证了消息的堆积 顺序读写 磁盘会预读,预读即在读取的起始地址连续读取多个页面&#xff0c;主要时间花费在了传输时间,而这个时间两种读写可以认为是一样的。 随机读写 因为数据没有在一起&#xff0c;将预读浪费掉了&#xff0c;需要多次寻道和旋…

日利率

2019独角兽企业重金招聘Python工程师标准>>> 利率计算 转载于:https://my.oschina.net/u/3342652/blog/1649028

linux下使用tar命令

解压语法&#xff1a;tar [主选项辅选项] 文件或者目录 使用该命令时&#xff0c;主选项是必须要有的&#xff0c;它告诉tar要做什么事情&#xff0c;辅选项是辅助使用的&#xff0c;可以选用。主选项&#xff1a;c 创建新的档案文件。如果用户想备份一个目录或是一些文件&…

Kafka 安装详解

注意&#xff1a;确保有JDK1.8版本及以上 官方文档&#xff1a;https://kafka.apache.org/quickstart 清华镜像下载&#xff1a;https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/ 首先下载安装包&#xff0c;在linux及Windows都可以使用。 1. Centos 安装部署 1.1 下载 将下…

【Maui正式版】创建可跨平台的Maui程序,以及有关依赖注入、MVVM双向绑定的实现和演示...

前言&#xff1a;Maui终于在2022年8月9日推送出来了。今儿就迫不及待来把玩一下先。A、我本地已有VS2022&#xff0c;不过版本比较老&#xff0c;此处选择更新。工具 -> 获取功能和更新里面&#xff0c;可以获取到新版本更新。B、最新版本是17.3.0&#xff0c;我本地只有17.…

学go语言能做什么工作?

Go语言主要用作服务器端开发&#xff0c;其定位是用来开发“大型软件”的&#xff0c;适合于很多程序员一起开发大型软件&#xff0c;并且开发周期长&#xff0c;支持云计算的网络服务。Go语言能够让程序员快速开发&#xff0c;并且在软件不断的增长过程中&#xff0c;它能让程…

WebSQL存储

2019独角兽企业重金招聘Python工程师标准>>> WebSQL这种存储技术&#xff0c;相对于学过数据库的人来说&#xff0c;还是比较容易理解和上手的&#xff0c;主要就是它的存储风格和我们一般所学的SQL Server 和Oracle比较像&#xff0c;对于HTML5来说&#xff0c;当然…

软件工程第一次作业补充

1.关注《构建之法》的作者邹欣老师的博客&#xff1b;2.花二十分钟写一个能自动生成小学四则运算题目的“软件”&#xff0c;要求除了整数以外&#xff0c;还要支持真分数的四则运算。将代码上传至coding.net,并将地址发布至自己的博客。代码地址&#xff1a; https://coding.n…

抖音服务器带宽有多大,才能供上亿人同时刷?

最近看到一个有意思的提问&#xff1a;抖音服务器带宽有多大&#xff0c;为什么能够供那么多人同时刷&#xff1f;今天来给小伙伴们科普一下。 抖音&#xff0c;百度&#xff0c;阿里云&#xff0c;腾讯都是自建的数据中心&#xff0c;都是 T 级别出口带宽&#xff08;总出口带…