android混淆模板

Android混淆代码所遇到的坑 前言  之前一直没有处理过代码混淆,只了解一些相关的知识,代码一直都使用360加固了。今天公司要求使用代码混淆,那就听从安排,搞呗。第一步:  在使用混淆代码之前,需要在gradle文件中更改一些配置,需要更改的配置如下:buildTypes { release { minifyEnabled true proguardFiles g... 阅读详情

记录,方便日后查找


# 优化算法,一般不用修改,来自Google
-optimizations !code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/*
# 代码混淆压缩比,在0~7之间,默认为5,一般不做修改
-optimizationpasses 5
# 混合时不使用大小写混合,混合后的类名为小写
-dontusemixedcaseclassnames
# 不去忽略非公共库的类
-dontskipnonpubliclibraryclasses
# 优化时允许访问并修改有修饰符的类和类的成员
-allowaccessmodification
# 项目混淆后产生映射文件
-verbose
# 不做预校验
-dontpreverify

# 保留Annotation不混淆
-keepattributes *Annotation*,InnerClasses
# 避免混淆泛型
-keepattributes Signature
# 抛出异常时保留代码行号
-keepattributes SourceFile,LineNumberTable

# 保留四大组件,自定义的Application等
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Appliction
-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 * extends android.view.View
-keep public class com.google.vending.licensing.ILicensingService
-keep public class com.android.vending.licensing.ILicensingService

# 保留native方法
-keepclasseswithmembernames class * {
    native <methods>;
}

# 保留在Activity中的方法参数是view的方法,
# 这样以来我们在layout中写的onClick就不会被影响
-keepclassmembers class * extends android.app.Activity{
    public void *(android.view.View);
}

# 保留自定义View
-keepclassmembers public class * extends android.view.View { 
    void set*(***); *** get*(); 
    public <init>(android.content.Context);
    public <init>(android.content.Context, android.util.AttributeSet);
    public <init>(android.content.Context, android.util.AttributeSet, int);
}

# 保留枚举
-keepclassmembers enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}

# 保留Parcelable序列化对象
-keepclassmembers class * implements android.os.Parcelable {
    public static final android.os.Parcelable$Creator CREATOR;
}

# 保留R文件中的成员
-keepclassmembers class **.R$* {
    public static <fields>;
}

# 保留Serializable序列化的类不被混淆
-keepnames class * implements java.io.Serializable
-keepclassmembers class * implements java.io.Serializable {
    static final long serialVersionUID;
    private static final java.io.ObjectStreamField[] serialPersistentFields;
    !static !transient <fields>;
    !private <fields>;
    !private <methods>;
    private void writeObject(java.io.ObjectOutputStream);
    private void readObject(java.io.ObjectInputStream);
    java.lang.Object writeReplace();
    java.lang.Object readResolve();
}

# -------------------------------------------------------------------------------
# webView处理,项目中没有使用到webView忽略即可
-keepclassmembers class fqcn.of.javascript.interface.for.webview {
    public *;
}
-keepclassmembers class * extends android.webkit.webViewClient {
    public void *(android.webkit.WebView, java.lang.String, android.graphics.Bitmap);
    public boolean *(android.webkit.WebView, java.lang.String);
}
-keepclassmembers class * extends android.webkit.webViewClient {
    public void *(android.webkit.webView, jav.lang.String);
}

# --------------------------保留JS接口-------------------------------------------

# --------------------------保留反射类-------------------------------------------

# --------------------------保留实体类-------------------------------------------

# --------------------------第三方库的混淆规则-----------------------------------
爬虫实战:抖音视频搜索数据爬虫开发实战(附完整Python源码) 【代码】抖音视频搜索数据爬虫开发实战(附完整Python源码) 阅读详情

相关推荐

深度强化学习-D3QN算法原理与代码

Dueling Double Deep Q Network(D3QN)算法结合了Double DQN和Dueling DQN算法的思想,进一步提升了算法的性能。如果对Doubel DQN和Dueling DQN算法还不太了解的话,可以参考我的这两篇博文:深度强化学习-Doubel DQN算法原理与代码和深度强化学习-Dueling DQN算法原理与代码,分别详细讲述了这两个算法的原理以及代码实现。本文就带领大家了解一下D3QN算法,代码链接见下方。 代码:https://github.com/indigo

weixin_46133643的博客 2万+

解决 android 混淆后,反射R文件内部类报错

项目中由于用到了下面方法来 反射R文件获取layout的布局id。但是混淆后,发现报错 android.content.res.Resources$NotFoundException: Resource ID #0x0 经过网上查找都是在 proguard-rules.pro 中加 -keep class *.R$ {*;} ,但是没有彻底解决,最后加上 -keepattributes In

天燹的博客 2330

电镀技术:微型制造的原子级加法工艺与核心优势

电镀是一种利用电解原理在基材表面沉积金属层的表面处理技术,其本质是通过电场控制溶液中金属离子的迁移与还原,实现原子级的可控沉积。这一过程的核心在于对电流密度、温度、添加剂等参数的精密调控,从而实现对镀层结晶结构、性能的“编程”。从技术价值看,电镀作为一种“加法制造”工艺,在微观尺度上具有无与伦比的保形性和材料灵活性,能够实现复杂三维结构的均匀覆盖与功能复合。在应用场景上,它尤其契合现代微型化制造的需求,例如在集成电路的铜互连填充、高密度PCB板微孔金属化、MEMS传感器电极制备以及柔性电子器件制造中发挥着不

weixin_42524842的博客 528

语法基础——Proguard语法基础

启用混淆 通过工程下的build.gradle文件中的开启混淆开关和配置混淆规则文件 minifyEnabled:混淆开关 proguard-android.txt:SDK中默认proguard的配置规则 proguard-rules.pro:自定义proguard的配置规则 buildTypes { debug { minifyEnabled true ...

点击置顶文章查看博客目录(全站式导航) 2753

FPGA+滨淞CCD实战:手把手教你搭建S7031/S10142成像电路(附避坑指南)

本文详细介绍了使用FPGA驱动滨淞CCD传感器(S7031/S10142)构建高精度成像系统的完整实战流程。内容涵盖核心器件选型、系统架构规划、电路板(焦面板与接口板)设计要点、FPGA Verilog逻辑实现,并提供了从电源管理、信号调理到数据采集的详细避坑指南,帮助读者从零搭建稳定可靠的成像电路。

weixin_29271263的博客 227

GEOSHIELD:分布式CPS的拜占庭容错与安全防护技术

分布式系统在关键基础设施(如轨道交通、智能电网)中面临网络延迟和恶意节点的双重挑战。拜占庭容错(BFT)技术通过算法保证系统在存在故障节点时仍能达成一致,是保障系统安全的核心机制。GEOSHIELD创新性地结合概率化网络延迟测量和TGS动态信任评分,实现了不依赖可信硬件的拜占庭 resilience。该技术通过建立节点行为的信用档案,动态识别恶意行为,在保证安全性的同时最大化系统可用性。实验证明,即使在自适应攻击策略下,GEOSHIELD仍能保持系统95.6%的正常运行时间,为CPS系统提供了可靠的安全防护

weixin_31766003的博客 346

关于混淆,你需要知道的全部

proguard流程proguard分为4个步骤:压缩(shrink)移除未使用的类、方法、字段等;优化(optimize)优化字节码、简化代码等操作;混淆(obfuscate)使用简短的、无意义的名称重全名类名、方法名、字段等;预校验(preverify)为class添加预校验信息。一、4个步骤中的常量配置1. 压缩(shrink)-dontshrink声明不进行压缩操作,默认情况下,除了-ke...

夏天的夏,夏天的天。 1万+

【Claude Code】Not logged in 未登录错误解决方案 + /login 认证路径

Claude Code 启动时提示 Not logged in 表示当前会话缺少有效凭证。本文从环境变量、API Key 配置、CI 自动化凭证脚本和系统时钟四个维度,提供完整的认证排查流程与修复方案。

多媒体编程、网络编程、系统编程、网络安全编程、驱动编程 893

Android 代码混淆语法讲解及常用模板,app架构图

-keepclassmembers class *.R$ { public static ; } 表示不混淆 R 类中 的 static 变量,在 R 类中。这些资源 ID 是系统自动帮我们生成的,混淆了就无法找到相应的资源。 -dontwarn android.support.** 表示混略 android.support 包下代码的警告。因为 android.support 包下,许多类都是在高版本中才能使用的,不过你不用担心低版本使用了会报错,因为在 support 包里面的类都已经对版本进行判断,所

m0_64319000的博客 789

Ambari 3.0+BigTop 3.3集群部署实战

Ambari 3.0+BigTop 3.3集群部署

docsz的博客 606

【系统分析师】第2章-基础知识:数学与工程基础(核心总结)

数学与工程基础

数据知道的博客 6813

Android混淆模板

开启混淆 通常我们需要找到项目路径下app目录下的build.gradle文件 找到minifyEnabled这个配置,然后设置为true即可. release{ minifyEnabled true//是否启动混淆 ture:打开 false:关闭 proguardFiles getDefaultProguardFile(...

沧海龙腾LV的博客 993

利用 Python 爬虫进行舆情监测的实战方法

舆情监测是指对互联网上的公众舆论进行监测和分析的过程。它可以帮助企业和组织了解公众对其品牌、产品或服务的看法,以及市场竞争情况。通过舆情监测,企业可以及时发现潜在的问题和机会,从而做出相应的决策。通过本实战案例,我们了解了如何利用 Python 爬虫进行舆情监测的整个流程。从数据采集到数据分析,再到可视化展示,每一步都提供了详细的代码示例和注释。希望这些方法和技巧能够帮助你在实际工作中更好地进行舆情监测,从而为企业的决策提供有力的支持。wordcloud。

u014481728的博客 1054

android 混淆打包模板,android app 打包混淆模板

這篇文章等是跟大家分享一在Android studio 進行代碼混淆配置。之前大家在eclipse上也弄過代碼混淆配置,其實一樣,大家可以把之前在eclipse上的配置文件直接拿過來用。不管是.cfg文件還是.txt文件都一樣。先給大家貼一個混淆模板吧。注釋很清楚。是我目前一個項目用的proguard.cfg配置文件#指定代碼的壓縮級別-optimizationpasses 5#包明不混合大小寫-...

weixin_39861918的博客 232

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

android studion 代码混淆模板

一、前言 今天要打包新产品,突然忘了混淆的参数是怎么写的了,虽然之前也混淆过,可是具体配置的参数代码有些记不起来了,因此决定花点时间写篇博客记录一下,方便以后查找和自己的记忆。 二、Android Studio 代码混淆基本配置 在工程目录下,找到 proguard-rules.pro 文件,它就是你要进行编写混淆配置的文件,在这个文件中编写混淆规则 当然,在这之前,还需要

gongxunqiang005的专栏 371

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Android Studio混淆模板

首先要在build.gradle中开启混淆,也就是minifyEnabled true,我用的build.gradle具体如下所示: def releaseTime() { return new Date().format("yyyy.MM.dd", TimeZone.getTimeZone("UTC")) } android { .... buildTypes {

chanzhu的博客 461

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Android 混淆模板

混淆

qq_43167042的博客 575

Android代码混淆模板

# Add project specific ProGuard rules here. # You can control the set of applied configuration files using the # proguardFiles setting in build.gradle. # # For more details, see # http://developer.a...

kururunga的博客 321

android app 打包混淆模板

这篇文章等是跟大家分享一在Android studio 进行代码混淆配置。之前大家在eclipse上也弄过代码混淆配置,其实一样,大家可以把之前在eclipse上的配置文件直接拿过来用。不管是.cfg文件还是.txt文件都一样。   先给大家贴一个混淆模板吧。注释很清楚。是我目前一个项目用的proguard.cfg配置文件   #指定代码的压缩级别   -optimizationpas

Tongseng‘s Blog 1306

Android atudio混淆模板

这篇文章等是跟大家分享一在Android studio 进行代码混淆配置。之前大家在eclipse上也弄过代码混淆配置,其实一样,大家可以把之前在eclipse上的配置文件直接拿过来用。不管是.cfg文件还是proguard-rules.pro文件都一样。 先给大家贴一个混淆模板吧。注释很清楚。是我目前一个项目用的proguard.cfg配置文件 #指定代码的压缩级别 -optimizatio

熊猫卓Sun博客 1281

android proguard 混淆模板

ProGuard简介 主要功能: 压缩(shrink):删除无用的类、方法 优化(optimize):对字节码优化,删除无用指令 混淆(obfuscate):对类、方法进行重命名 预检(preveify):代码预检 ProGuard 开源地址:https://sourceforge.net/projects/proguard/ 模板 #-------...

lele的专栏 432

Android混淆模板与使用

AndroidStudio中minifyEnabled为true时是开启混淆,默认为proguard-rules.pro文件: 以上为配置 粘贴以下模板代码 #-------------------------------------------定制化区域--------------------------------------- #-----------------------...

lt的博客 683

Android Studio混淆模板及常用第三方混淆(看了都说好)

首先要在build.gradle中开启混淆,也就是minifyEnabled true,我用的build.gradle具体如下所示: def releaseTime() { return new Date().format("yyyy.MM.dd", TimeZone.getTimeZone("UTC")) }android { .... buildTypes {

Blankj 2万+

android picasso混淆,Android 混淆模板

#基本指令# 设置混淆的压缩比率 0 ~ 7-optimizationpasses 5# 混淆时不使用大小写混合,混淆后的类名为小写-dontusemixedcaseclassnames# 指定不去忽略非公共库的类-dontskipnonpubliclibraryclasses# 指定不去忽略非公共库的成员-dontskipnonpubliclibraryclassmembers# 混淆时不做预校...

weixin_39927683的博客 352

Android proguard-rules.pro 混淆模板

在../sdk/tools/proguard/目录下,其中包含了android最基本的混淆   ..\proguard-rules.pro  混淆文件配置模板: ############# 混淆模板 ############# ############################################# # # 对于一些基本指令的添加 # ####################...

weixin_34238633的博客 182
上一篇: android动态获取id资源
下一篇: 用python实现Android国际化多语言strings.xml文件与excel互转
狂暴巴拉森
博客等级 码龄5年 101粉丝 14原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值