关于Android使用proguard进行代码混淆

Gradle minifyEnabled 使用proguard混淆android代码 android studio 打jar包并混淆 作者:韩梦飞沙 QQ:313134555 Gradle minifyEnabled是做什么的? - forlong401的专栏--有问题上:http://www.androidren.com - 博客频道 - 优快云.NET关于Android Studio打包混淆以及上传mapping文件_「电脑玩物」中文网我们只是「电脑玩物」 -使用proguard混淆androi 阅读详情
       自Android 2.3 SDK发布后,Google便在Android SDK Tools里加入了proguard,proguard是一个可以对.java文件进行一定程度上的代码混淆,使用proguard是一件极方便工作,在你项目中没有其他外部Jar包的情况下,在“project.properties”文件里,添加一行:

proguard.config=proguard.cfg
      代码即可,然后通过Android Tools(右击项目名)里导出APK即可,如果项目所使用的的SDK版本低于2.3,只需要进行%android_dir%/tools/lib目录,复制proguard.cfg文件到项目的根目录下导出APK即可。
      这是一般情况,即无第三方Jar包,如果存在第三方Jar包,那么打开proguard.cfg文件进行编辑,在其中加入以下代码:
-libraryjars %lib_jar_path%
      有几个Jar包,便添加几次,如在项目的libs目录下有a.jar,b.jar,c.jar三个Jar包:
-libraryjars libs/a.jar
-libraryjars libs/b.jar
-libraryjars libs/c.jar
      如此,通过android tools导出APK即可。
      此外,还有些特殊情况,会令导出发生异常,视具体异常情况而定,修改proguard.cfg文件。
      比如出现了以下异常:
Warning: com.google.android.maps.MapView: can't find referenced class com.android.mkstubs.stubber.MethodStubber
Warning: com.google.android.maps.MapView$1: can't find referenced class com.android.mkstubs.stubber.MethodStubber
即:
Warning: %class_full_name%: can't find referenced class %class_full_name%
      这种异常情况,需要在proguard.cfg文件中,添加以下代码:
-dontwarn %class_full_name%
      即可,便以上面例子而言,应当如下:
-dontwarn com.google.android.maps.*
      等等,此类情况修改proguard.cfg文件即可,还有种特殊情况,需要对引入的Jar包进行修改,如下:
Warning: library class android.content.res.XmlResourceParser extends or implements program class org.xmlpull.v1.XmlPullParser
Warning: library class android.view.LayoutInflater depends on program class org.xmlpull.v1.XmlPullParser
      这是因为引用的Jar包中含有xmlpull类库,Android系统的类库中已经包含了xmlpull,这样混淆出现了冲突,解决办法是把它里面已存在的和系统库冲突的类去掉,就可以了,产生冲突的类可见控制台输出。
      另外对不想混淆的类/方法/变量,可以使用-keep指定,具体参考proguard.cfg文件写法。
android4.0混淆XmlPullParser报错原因分析解决 代码如下: [2013-05-20 17:30:52 – danielinbiti] Proguard returned with error code 1. See console [2013-05-20 17:30:52 – danielinbiti] Note: there were 67 duplicate class definitions. [2013-05-20 17:30:52 – danielinbiti] Warning: library class android.content.res.XmlResourceParser extends or implements pr 立即下载

相关推荐

ANSYS接触分析实战:从法兰连接案例看接触刚度与穿透容差的黄金搭配

本文以法兰连接为实战案例,深入解析了ANSYS接触分析中接触刚度(FKN)与穿透容差(FTOLN)的参数设置策略。通过系统性敏感性分析,揭示了这对关键参数的博弈关系与调优逻辑,旨在帮助工程师在保证计算收敛的同时,获得高精度的有限元分析结果,有效解决工程中的非线性接触难题。

moon9的博客 314

R8: Library class android.content.res.XmlResourceParser implements program class org.xmlpull.v1.XmlP

dom4j解析xml,R8

wqbs369的专栏 4198

SAP BTP开发入门:从PaaS到CAP/UI5的30天学习路线

在云计算与数字化转型的大背景下,企业系统集成与云端扩展需求激增,传统的单点开发模式正面临深刻变革。PaaS(平台即服务)作为云原生的核心概念,将基础设施、开发环境与应用服务统一封装,为企业提供了灵活的扩展能力。SAP BTP正是SAP生态中的PaaS平台,它承载着系统集成、低代码开发、AI服务与数据管理,成为连接S/4HANA等核心业务系统与创新应用的桥梁。对于ABAP开发者而言,掌握BTP不仅是技能升级,更是应对从传统部署向云端订阅模式转型的必由之路。本文从平台基础出发,梳理BTP的核心服务与开发模型(如

weixin_31766003的博客 285

android中代码混淆android.content.res.XmlResourceParser extends or implements program class org.

1、今天运行代码时报如下错误,这个错误找了好久终于解决了,在网上也找了好多方法,但都不是自己想要的。Warning:library class android.content.res.XmlResourceParser extends or implements program class org.xmlpull.v1.XmlPullParserWarning:library class andr...

会飞的鱼儿的博客 3502

光耦继电器电路分析

光耦电路的分析笔记

MingYue_SSS的博客 6886

Camera mipi通信协议

MIPI(移动行业处理器接口),是的缩写。MIPI移动行业处理器接口)是MIPI联盟发起的为移动应用处理器制定的开放标准。分别定义了一系列的手机内部接口标准,比如摄像头接口CSI、显示接口DSI,其中是由MIPI联盟下Camera工作组指定的接口标准。CSI-2是MIPI CSI第二版,主要由应用层、协议层、物理层组成,最大支持4通道数据传输、单线传输速度高达1Gb/s。

arvin_xiong的博客 3731

Android程序进行混淆,在导出签名apk包时出错!

今天终于完成了近一个月的App开发工作,对程序进行混淆导出签名apk包时,却出现了如下的错误: Proguard returned with error code 1. See console Note: there were 4 duplicate class definitions. Warning: library class android.content.res.XmlResour

diruser的专栏 1万+

【接口自动化测试】cookie绕过验证码自动登录?(保持登录状态)

在编写接口自动化测试用例或其他脚本的过程中,经常会遇到需要绕过用户名/密码或验证码登录,去请求接口的情况,一是因为有时验证码会比较复杂,比如有些图形验证码,难以通过接口的方式去处理;再者,每次请求接口前如果都需要先去登录一次,这样不仅效率低,还耗费资源。 有些网站是使用cookie辨别用户身份的,此时我们便可以先登录一次,拿到登录成功后的cookie,后续请求时在请求头中加入该cookie,便可保持登录状态直接请求。

weixin_67553250的博客 2071

Android开发错误汇总

大家都在为项目开发成功而喜悦,但可不知成功的路上是会经常出错的,下面是我碰到的一些错误集合! 【错误信息】 [2011-01-19 16:39:10 - ApiDemos] WARNING: Application does not specify an API level requirement! [2011-01-19 16:39:10 - ApiDemos] Device API ...

编程资料大全 646

备战2025数学建模国赛(算法46):多目标优化

本篇博客将深入浅出地介绍多目标优化的核心概念、主流算法,并重点结合一个数学建模竞赛的经典案例,提供完整的Python代码实现,助你在未来的竞赛中游刃有余。它通过寻找帕累托最优解集,完美地诠释了“鱼与熊掌不可兼得”的权衡思想,为最终决策提供科学依据。这些问题都包含多个相互冲突的目标,传统的单目标优化方法(如梯度下降、单纯形法)对此无能为力,因为它们无法同时优化多个目标。在数学建模竞赛中,我们面临的绝大多数问题都不是单一的“最好”,而是充满权衡与妥协的“最优”。记住,成功的建模不仅在于解出问题,更在于清晰地。

YOLO 286

把 SAP S/4HANA 中的 Maintain Email Templates 用好:从模板维护、语言变体、业务绑定到传输治理的完整实践

摘要:SAP邮件模板管理常被低估,实则关乎审批通知、业务提醒等关键输出。官方推荐通过复制标准模板实现自定义,而非直接修改标准内容,以保持核心稳定。模板维护涉及语言变体、业务绑定、数据传输等治理环节,需业务顾问与开发团队协作确保字段来源与渲染逻辑。实施时需注意Fiori配置、权限分配及传输管理,避免测试与生产环境差异。模板设计应平衡灵活性与复杂度,遵循分层测试策略(内容、数据、流程),并建立命名规范以维护资产清晰度。(149字)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 69

Android 代码混淆Proguard

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

DeMonnnnnn 4475

YOLO11涨点优化:训练技巧 | 使用标签平滑(Label Smoothing)配合余弦退火学习率,防止过拟合,稳步提点

摘要: YOLO11凭借动态卷积核调度、自适应特征融合等创新成为2026年目标检测主流,但面临训练集过拟合问题。文章聚焦两种零推理开销的正则化技巧:标签平滑(Label Smoothing)和余弦退火学习率(Cosine Annealing LR)。标签平滑通过软化硬标签(如将[1,0]改为[0.9,0.1])防止模型过度自信,代码中通过label_smoothing=0.1一键启用;余弦退火则以平滑的余弦曲线调整学习率(cos_lr=True),避免阶梯衰减的震荡。两者组合可显著缩小YOLO11训练与验证

2601_95807009的博客 45

Android 2.3 代码混淆proguard技术介绍

<br />由于各种反编译工具的泛滥,作为Android程序员在2.3版本以前只能通过手动添加proguard来实现代码混淆<br /> <br />proguard这个工具是一个java代码混淆的工具<br /> <br />在2.3版本的sdk中 我们可以看到在android-sdk-windows/tools/下面多了一个proguard文件夹<br />google已经把proguard技术放在了android sdk里面 可以通过正常的编译方式也能实现代码混淆了<br /> <br /><br /

Zy的技术心得 3万+

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

安卓proguard代码混淆以及反编译工具

混淆以及反编译那些事儿 含义解释: - 压缩(Shrink): 检测并删除未使用的类,字段,方法和属性。 - 优化(Optimize): 分析并优化方法的字节码。 - 混淆(Obfuscate): 使用简短的无意义名称例如a,b,c等,重命名类,字段和方法。 - 预检(Preveirfy): 主要是在Java平台上对处理后的代码进行预检。 #### 输入/输出配置项 ```groovy @filename ```

热爱技术 1797

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Android ProGuard代码混淆

Android ProGuard配置方法 什么是 ProGuard ProGuard 是一个能对 java 字节码文件进行压缩、优化、混淆和预验证的免费工具。 ProGuard 可以删除 java 代码中无用的类、字段、方法和属性,可以重命名已经存在的类、字段、方法和属性。 ProGuard 常用于 Android 开发对项目进行混淆,增加项目代码被反编译的难度。 对于Android 项目,混淆是 ProGuard 中最重要的一个功能。 ProGuard 工作原理 ProGuard 之所以可以保护 apk

weixin_42260375的博客 408

efm32 入门.pdf

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

android proguard 代码混淆有什么用,Android代码混淆——Proguard

一、概述ProGuard 会检测和移除封装应用中未使用的类、字段、方法和属性,包括自带代码库中的未使用项(这使其成为以变通方式解决64k 引用限制的有用工具)。ProGuard 还可优化字节码,移除未使用的代码指令,以及用短名称混淆其余的类、字段和方法。混淆过的代码可令您的 APK 难以被逆向工程,这在应用使用许可验证等安全敏感性功能时特别有用。二、开启混淆在module的build.gradle...

weixin_35888365的博客 437

Android studio 代码混淆使用 —— ProGuard

Android studio 代码混淆使用 —— ProGuard

王小六的博客 1910

Android ProGuard代码混淆解析

1、代码混淆配置 如下图,默认情况下,混淆是关闭的,我们只需要将minifyEnabled置为true就可以开启混淆了。 buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard...

欢迎关注微信公众号:DroidMind 986

Android系统工具之Proguard 代码混淆器

声明   欢迎转载,但请保留文章原始出处:)      博客园:http://www.cnblogs.com/     Android中文翻译组:http://goo.gl/6vJQl   原文          http://developer.android.com/guide/developing/tools/proguard.html   混淆器(ProGuar

wangjia55的专栏 1527

Android代码混淆及ProGuard手册

为什么把这三个内容放到一起说?因为在Android Gradle中配置方法基本是在一起的。官方说明如下:上面没有提到的一个代码混淆的重要作用:我们知道apk文件是相对容易被反编译的,未加混淆的apk,反编译后基本裸奔。而混淆的apk即使被反编译,类名与变量名都会处理成无意义的字符,很大程度上降低了源码的可读性。以下是在Android Studio中开启混淆的方法和常用的配置。Android Studio的Gradle混淆功能默认是关闭的,我们需要手动在module的build.gradle中打开。 之后我们

Android_XG的博客 936

【Android】使用ProGuard来进行代码混淆

在Android应用中,您可以使用ProGuard来进行代码混淆。代码混淆可以帮助减小APK文件的大小并加强应用的安全性,因为它会对代码进行压缩和混淆,使得反编译和逆向工程变得更加困难。要在Android应用中配置代码混淆,您需要在文件中定义混淆规则。该文件一般位于您的Android项目的/app目录下。

资深全栈开发工程师 957

Android代码混淆后接口报错,Android代码混淆ProGuard

Android ADT主要通过ProGuard工具来提供代码混淆.1. ProGuard是什么ProGuard是一个工具,用来混淆和优化Java代码。工作方式:移除无效的代码,将代码中的类名、函数名替换为晦涩难懂的名字。注意:它只能混淆Java代码,Android工程中Native代码,资源文件(图片、xml),它是无法混淆的。2. 如何开启ProGuard修改Android工程根目录下的proj...

weixin_39814393的博客 743

android proguard 代码混淆有什么用,Android ProGuard 代码混淆那些事儿

Android 开发中为了代码安全一般都会使用 ProGuard 进行代码混淆,它可以把类名、属性名和方法名变为毫无意义的 a, b, c 等,但是有些代码是不需要混淆的,这时需要配置 proguard-rules.pro 文件。这是许多开发者对代码混淆的认识,但是 ProGuard 更深入的内容呢,如何配置混淆规则呢,下面我就分享下 Android 中 ProGuard 那些事。先敲敲黑板,划下...

weixin_39609457的博客 537

Android 中使用 Proguard 混淆 Java 代码

转自:https://blog.rinc.xyz/posts/130808-proguard/ 容易被反编译是 Java 、C# 这类解释型、托管型语言的通病,为了保障代码安全,通常采取的措施主要有两种: 核心逻辑采用难于被反编译的 native 语言(C / C++)编写,而 C# 通过 DllImport 等方式、Java 通过 JNI 都可调用 native 代码。 对代码...

云守护的专栏 347
下一篇: Java泛型T的应用 获取T类型
Excing
博客等级 码龄18年 2粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值