Android 代码混淆

Android代码混淆 一、代码混淆作用: 防止反编译; 精简编译后的apk文件大小; 二、开启混淆: 在项目的build.gradle中开启混淆: 将minifyEnabled的值改为true即开启:其中debug为测试版本,release为发布版本 三、混淆说明: 开启混淆后Android会用自带的混淆进行代码混淆,如在安装Android SDK的目录下的proguard-android.txt或proguard-android-optimize.txt文件为默认混淆文件。对于自己定义的混淆需要在proguar 阅读详情

说在前面的话:虽然在我们国家,收费的软件基本行不通,所谓的免费软件和盗版软件比比皆是,这叫我们程序员情何以堪呢,

可笑的是:连我们自己也是用盗版的软件。但是尽管如此,保护我们的代码还是很有必要的,假如代码里包含一些安全信息,要是

被人反编译出来就不好了。

好了,废话不多说了。打在Google||百度 Android代码混淆,总会等到很多的方法,但是基本上都是一样的,或者说是你copy我,我copy你的,

我就遇到这样的问题,按照网上说的

直接在project.properties文件添加一句 proguard.config=proguard.cfg,

但是到处apk的时候总是error,主要原因是我引入了其它jar包,所以直接加上

proguard.config=proguard.cfg 是不行的。

需要修改proguard.cfg文件,如下所示

-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-ignorewarnings  // 屏蔽警告
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
-libraryjars libs/android-http.jar  //引入外部jar包
-dontwarn
-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


-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);
}


-keepclassmembers enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}


-keep class * implements android.os.Parcelable {
  public static final android.os.Parcelable$Creator *;
}


最后如果你想不混淆第三方jar包的指定内容,可以再在最后添加

-keep class com.heynine.*

Android轻松实现代码混淆 简介 代码混淆(Obfuscated code)亦称花指令,是将计算机程序的代码,转换成一种功能上等价,但是难于阅读和理解的形式的行为。 混淆的目的是为了加大反编译的成本,但是并不能彻底防止反编译。如何开启混淆通常我们需要找到项目路径下app目录下的build.gradle文件,找到minifyEnabled这个配置,然后设置为true即可,如下:release { minifyEnab 阅读详情

相关推荐

ETL第八章无人售货机零售项目实践

ETL实战项目——无人售货机

m0_52058217的博客 4417

史上最全Android代码混淆详解

optimizationpasses 5 # 代码混淆的压缩比例,值介于0-7,默认5-verbose # 混淆时记录日志-dontoptimize # 不优化输入的类文件-dontshrink # 关闭压缩-dontpreverify # 关闭预校验(作用于Java平台,Android不需要,去掉可加快混淆)-dontoptimize # 关闭代码优化-dontobfuscate # 关闭混淆-ignorewarnings # 忽略警告。

weixin_40323532的博客 8613

Arduino——GY39大气压、温湿度、光照模块

前几天买东西的时候买了一个GY39,这个模块集成了温湿度,大气压,海拔,光照一体,使用起来很方面。它有两种工作模式使用串口模式时需要搭配转接板,我选择了IIC模式,看一下通信协议吧,就是关于高八位和低八位的数据。看一下接线。

戚晨夕的博客 2604

Android:代码混淆概念整理

混淆整理

qjyws的博客 4183

【Android】条形码/二维码扫描——ZXing源码分析

正在更新中 针对3.2.1版本源码 与其他版本代码可能会有出入,但核心思想基本不变。 首先从com.google.zxing.client.android包中的目录结构分析:Book:这个文件夹中有5个类: BrowseBookListener 实现了adapter的点击事项响应,通过获取ISBN,然后跳转到Google books中查询响应的详细信息。 SearchBookContents

年轻的学徒 2453

“Agent Harness”和“Harness Engineering”

摘要:2026年AI工程化领域,"Agent Harness"(AI代理运行控制系统)与"Harness Engineering"(马具工程方法论)常被混淆。前者是管理AI代理非推理事务的技术实体(工具调用、记忆管理、安全约束等7层架构),后者是设计优化该系统的工程学科。研究表明,优化的Harness设计可使同一模型性能提升10倍。两者关系如同"马具"与"制具工艺":Harness Engineering指导Agent Harn

几十年资深高级架构师,技术专家的技术笔记。专注C、Java、Python、微服务、云原生、AI工程化及高并发系统分布式架构实战,分享源码剖析、性能调优与架构治理经验。 830

Android 代码混淆规则

1. Proguard介绍 Android SDK自带了混淆工具Proguard。它位于SDK根目录\tools\proguard下面。 ProGuard是一个免费的Java类文件收缩,优化,混淆和预校验器。它可以检测并删除未使用的类,字段,方法和属性。它可以优化字节码,并删除未使用的指令。它可以将类、字段和方法使用短无意义的名称进行重命名。最后,预校验的Java6或针对Java MicroEdi...

weixin_34195546的博客 800

RV1126B芯片实战:如何用这款视觉处理器SoC打造你的第一个AI摄像头项目

本文详细介绍了如何利用瑞芯微RV1126B视觉处理器SoC从零构建AI摄像头项目。涵盖硬件选型、开发环境搭建、ISP配置、AI模型部署及系统集成等关键步骤,帮助开发者高效实现边缘计算方案,特别适合智能安防和工业检测应用。

dropout6artist的博客 929

Android进行代码混淆

Android代码混淆

chali1314的博客 2437

【RT-DETR涨点改进】全网独家-特征融合改进篇 | AAAI 2025 顶会| 高效涨点,RT-DETR利用CDFA对比度特征聚合模块,适用于目标检查(全网独家创新)

本文提出了一种基于CDFA模块的多级特征融合优化RT-DETR模型,用于解决医学图像分割中的软边界模糊、小目标和共现现象等问题。CDFA模块通过对比度特征聚合、局部特征增强和多级注意力机制,有效提升模型性能。研究提供了三种改进方案(rtdetr-r18/y50/l-CDFA),并在多个医学数据集上验证了其有效性。核心创新包括语义信息解耦、对比驱动特征融合和尺寸感知解码器。实验结果表明,该方法在分割精度和鲁棒性方面达到SOTA水平。

Ai缝合怪、助力小伙伴高效发论文 509

msfvenom制作windows/linux/android/ios木马

msfvenom选项如下 -p, --payload<payload> 指定 payload(攻击荷载)。如果使用自定义payload,请使用'-'或者stdin指定。 -l, --list [module_typel列出指定模块的所有可用资源。模块类型包括:payloads, encoders, nops, all -n, --nopsled <length>为payload预先指定一个NOP滑动长度。 -f, --format <format>指定输出格式(使

Cwillchris的博客 2732

安卓混淆java代码_Android 开发怎样做代码加密或混淆?

欢迎访问网易云社区,了解更多网易技术产品运营经验。网易资深安全工程师钟亚平在今年的安卓巴士全球开发者论坛上做了《安卓APP逆向与保护》的演讲(完整演讲内容请见这里:一文了解安卓APP逆向分析与保护机制),其中就谈到了关于代码混淆的问题。Java代码是非常容易反编译的,为了很好地保护Java源代码,开发者往往会对编译好的class文件进行混淆处理。混淆就是对发布出去的程序进行重新组织和处理,使得处理...

weixin_42517623的博客 415

基于卷积神经网络CNN实现电力负荷多变量时序预测(PyTorch版)

随着智能电网的发展,精准的电力负荷预测对能源调度和电网稳定具有重要意义。本文基于PyTorch框架,提出一种基于卷积神经网络(CNN)的多变量时间序列预测模型,用于电力负荷的短期预测。

时序笔记 988

安卓混淆java代码_Android R8代码混淆

Android Gradle插件升级至3.4.0版本之后,带来一个新特性-新一代混淆工具R8,做为D8的升级版替代Proguard;在应用压缩、应用优化方面提供更极致的体验。3 k# A- k7 Y6 L& A1 ZR8 和 Proguard2 u9 z+ ]( O* |0 o. y1 t. K' y' T2 i) i6 Z: qCR8 一步到位地完成了所有的缩减(shrinking)...

weixin_30938297的博客 814

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

安卓混淆java代码_Android 代码混淆及第三方jar包不被混淆

为了保护代码被反编译,android引入了混淆代码的概念1.设置混淆在工程下找到project.properties文件在文件中加入proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt这个是系统的也可以用自己的混淆文件(这样就可以配置一些自己的东西),去sdk.dir}/tools/p...

weixin_42393272的博客 444

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

安卓代码混淆(Android Studio)

https://www.cnblogs.com/jymblog/p/6531955.html

qq_25153847的专栏 184

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

安卓开发之代码混淆

首先在build.gradle中 将代码开启混淆 false -> true。Java层代码上上混淆,对抗反编译,jadx及jeb。看了一眼代码混淆的看不清楚了,估计用jeb才可以稍微看清楚点逻辑。在打包apk的时候有两种模式: debug | release。debug: 调试模式 release :发布版本。so层:上ollvm代码混淆,vmp加固等。今天我们这里说一下java代码混淆,记录一下,方便以后使用。再套个壳,更看不懂了。众所周知,一般安卓开发,

Codeoooo 博客 2238

Android 代码混淆Proguard

假设没指定白名单就进行混淆打包,而某某类的类名被混淆了(假设变成了a),那么可能其他引用或使用该类的类就找不到该类,说不定应用就会因此崩溃或是导致相应的功能无法使用。在Android的具体表现就是打包时,将项目里的包名、类名、变量名根据混淆规则进行更改,使反编译工具反编译出来的代码人难以阅读,从而达到防止被逆向破解的目的。Android代码混淆,又称Android混淆,是伴随着Android系统的流行而产生的一种APP保护技术,用于保护APP不被破解和逆向分析。(每次混淆修改后,打包前注意clean)

DeMonnnnnn 4468

Android 代码混淆 混淆方案

命令 | 作用 || — | — || -keep | 防止类和成员被移除或者被重命名 || -keepnames | 防止类和成员被重命名 || -keepclassmembers | 防止成员被移除或者被重命名 || -keepnames | 防止成员被重命名 || -keepclasseswithmembers | 防止拥有该成员的类和成员被移除或者被重命名 || -keepclasseswithmembernames | 防止拥有该成员的类和成员被重命名 |

2401_85968661的博客 1853

代码混淆简介(安卓gradle情况下用法)

把以前做安卓的东西记录一下 目录 1 反编译 1.1 软件下载地址: 1.2 使用流程: 2 代码混淆 2.1 代码混淆概念 2.2 混淆方法 2.3 混淆模版 2.4 混淆前后对比 2.5 附加说明 1 反编译 学会反编译,查看源码,才知道代码混淆是否成功. 1.1 软件下载地址: http://www.newasp.net/soft/704...

。。。。 1183

android 混淆移除log,关于安卓代码混淆和Release版本中去除Debug信息

我也不知道今天哪门子的心思看到这方面去了,这其实也就是一些固定东西的使用。怎么说呢,因为有些坑以前忽略了,今天记起来的就干掉吧。以前优化apk的时候,网上查下来,基本上就是去掉无用的资源buildTypes {release {//Zipalign优化zipAlignEnabled true// 移除无用的resource文件shrinkResources true}}但是这样会提示一个错误:Er...

weixin_33784572的博客 900

android 代码混淆原理,Android 代码混淆

一、混淆基本原理及目的:目的:让反编译app后的代码很难看懂,只是让别人很难看的懂而已。基本原理:把代码中原来有具体含义的包名,类名,变量名,方法名等名称全部替换成按顺序排列的无意义的英文字母a、b、c….这样代码结构没有变化,还可以运行得到一样的结果。功能:【优化】优化java的字节码,使程序运行更快;【压缩】减少App大小,在混淆过程中它会找出未被使用过的类和类成员并删除他们;【混淆】被反编译...

weixin_31193137的博客 1591
上一篇: java远程调用JPush极光推送api
下一篇: Android 实现程序完全退出
HeyNine
博客等级 码龄14年 33粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值