Android Studio 打包混淆失效问题

news2024/10/10 15:30:18

项目场景:

通过 Python 脚本运行打包 Apk ,实现动态配置各个版本的 Apk。


问题描述

通过 Python 脚本打包编译 Apk,开启混淆后,打包成功,反编译出来的 Apk 并没有被混淆。
在这里插入图片描述
在这里插入图片描述

原因分析:

首先确认打包混淆开关设置 minifyEnabled 是否生效为 true,手动 Android Studio 修改为 true 打包测试是否混淆成功。

在这里插入图片描述
手动开启混淆 Android Studio 打包混淆正常,然后排查动态设置的值是否正常。拷贝脚本中的命令在Android Studio打包看看是否正常混淆,判断值是正常的则考虑其他因素影响到了混淆。经过一番测试发现 debuggable 设置为 true 情况下开启混淆会导致混淆失败!


解决方案:

正式打包的时候开启混淆,debuggable 需要设置成 falsedebuggable 是调试模式和混淆模式并不兼容,Android 系统会为应用启用调试符号和信息,方便开发者进行调试。这与代码混淆的目标(减少代码的可读性和暴露的调试信息)冲突。混淆后,代码会被重命名、缩减,而调试模式需要保持类名、方法名等信息完整,以便进行调试,因此会产生冲突。

关闭 debuggable 设置后重新脚本运行命令打包混淆正常了~
在这里插入图片描述

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

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

相关文章

矩阵系统源码搭建,oem贴牌,技术指导

一、技术选型与整合 多种技术的融合 矩阵系统通常需要整合多种技术,包括前端技术、后端技术、数据库技术、服务器技术等。选择合适的技术栈并确保它们能够良好地协同工作是一个挑战。例如,前端可能使用 React 或 Vue.js,后端可能使用 Java Sp…

聚观早报 | 台积电9月份营收;联发科发布天玑9400

聚观早报每日整理最值得关注的行业重点事件,帮助大家及时了解最新行业动态,每日读报,就读聚观365资讯简报。 整理丨Cutie 10月10日消息 台积电9月份营收 联发科发布天玑9400 vivo X200系列将全系标配原子岛 骁龙8 Gen4或改名“骁龙8至尊…

[ComfyUI]看惯AI味女神,回归现实,聊聊去AI胶皮味现实真人写真

随着人工智能技术的飞速发展,图像生成与反推技术已经取得了显著的进展。然而,有时候我们也会怀念那些真实、自然的人像照片。今天,我们为您带来了一篇关于[ComfyUI]如何拍摄去AI胶皮味现实真人写真的文章,帮助您回归现实&#xff…

Redis:分布式 - 哨兵

Redis:分布式 - 哨兵 概念哨兵 Docker 搭建哨兵分布式选举流程 概念 Redis 的主从复制模式下,一旦主节点由于故障不能提供服务,需要人工进行主从切换,同时大量的客户端需要被通知切换到新的主节点上,对于上了一定规模…

美发店管理升级:SpringBoot技术实现

3系统分析 3.1可行性分析 通过对本美发门店管理系统实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本美发门店管理系统采用SSM框架,JAVA作为开发语…

产业园区数字化转型:破解传统园区发展瓶颈

在当今数字化浪潮汹涌澎湃的时代,传统产业园区面临着诸多发展瓶颈,而产业园区数字化转型成为了突破这些困境的关键路径。 传统产业园区往往存在着管理效率低下、资源配置不合理、企业间协同困难以及创新能力不足等问题。这些问题就像一道道枷锁&#xf…

胃阴亏则百病生!阴虚火旺、胃病多发、灼痛?秋冬滋补季,用“仙草”养养胃~

中国有句俗话“十人九胃”,现代社会作息混乱、饮食无度,胃病的患病率也变得越来越高。 经常熬夜,饮食不规律,暴饮暴食,肠胃不适,面色差~ 喜食辛辣,总吃烧烤,烘烤、辛辣热性的食物&…

线下旅行社增长:单品牌半年新开500家门店,净利润增幅超307%

实体门店集体下行,旅行社缘何能越开越多 前言 线上流量井喷背景下,旅游业却“反其道而行”,重燃线下旅行社战火。 文化和旅游部市场管理司今年9月发布的《2024年第二季度全国旅行社统计调查报告》显示,截至2024年6月30日&#…

WPF中的常用控件

控件分类 在第一篇文章.Net Core和WPF介绍中的WPF的功能和特性部分根据功能性介绍了WPF的控件 名称。 在接下来的文章中,将会详细的介绍各个控件的概念及使用。 主要包括: 内容控件:Label、Button、CheckBox、ToggleButton、RadioButton、…

Large AI Model Empowered Multimodal Semantic Communications——基于大模型的多模态语义通信框架

1. 背景 本文讨论了大规模AI模型在多模态语义通信(SC)系统中的应用,处理不同类型的数据(文本、音频、图像、视频)以实现低延迟、高质量的语义层次通信。提出了一个基于大模型的多模态SC(LAM-MSC&#xff09…

心理学基础

一,三观 三观包括世界观、人生观、价值观。 1,世界观 世界观‌是人们对整个世界的总的看法和根本观点。可以划分为两种根本对立的世界观类型,即唯心主义世界观和唯物主义世界观。 2,人生观 人生观是人们在实践中形成的对于人…

[C高手编程] C语言数据结构:排序算法与查找算法

💖💖⚡️⚡️专栏:C高手编程-面试宝典/技术手册/高手进阶⚡️⚡️💖💖 「C高手编程」专栏融合了作者十多年的C语言开发经验,汇集了从基础到进阶的关键知识点,是不可多得的知识宝典。如果你是即将…

开发一个exe应用工具,pdf转图片工具,pdf截成单个图片,然后全量修整没用的白边

pdf转图片工具 图片裁剪白边工具 window系统exe应用工具下载地址https://download.csdn.net/download/websmallrabbit/89864476如果有帮助到您还请动动手帮忙点赞,关注,评论转发,感谢啦!💕💕💕&…

记一次详细的实战渗透

声明:本文仅限于技术讨论与分享,严禁用于非法途径。若读者因此作出任何危害网络安全行为后果自负,与本号及原作者无关。 前言 一次授权的渗透测试,过程比较详细,充满了巧合,也算比较有意思直接记录一下&a…

SpringBoot访问web中的静态资源

SpringBoot访问web中的静态资源,有两个方式: 1、SpringBoot默认指定了一些固定的目录结构,静态资源放到这些目录中的某一个,系统运行后浏览器就可以访问到 ① 关键是SpringBoot默认指定的可以存放静态资源的目录有哪些&#xff…

这几个被淘汰的Python库,请不要再用!

随着每个 Python 版本的发布,都会添加新模块,并引入新的更好的做事方式,虽然我们都习惯了使用好的旧 Python 库和某些做事方式,但现在也时候升级并利用新的和改进的模块及其特性了。 这里插播一条粉丝福利,如果你正在…

图片美化SDK解决方案,赋能H5与小程序极致体验

无论是社交媒体分享、电商产品展示,还是个人日常生活的记录,一张经过精心美化的图片总能瞬间吸引眼球,传递出更加丰富和动人的信息。如何在不增加应用体积、不牺牲用户体验的前提下,为H5页面和小程序提供媲美原生APP的图片美化功能…

二、IOC容器

文章目录 1. IOC的底层原理1.1 什么是IOC1.2 IOC 底层原理1.3 画图讲解 IOC 底层原理 2. IOC接口(BeanFactory)3. IOC 操作 Bean 管理(概念)3.1 什么是Bean管理3.2 Bean管理操作的两种方式 4. IOC操作 Bean 管理(基于 …

go发送邮件:在Go语言中实现发邮件的教程?

go发送邮件的教程指南?怎么使用Go语言发送电子邮件? Go语言,作为一种简洁、高效且并发性强的编程语言,自然也提供了丰富的库来支持邮件发送功能。AokSend将详细介绍如何在Go语言中实现发送邮件的功能,帮助你快速掌握这…

Video Ocean,又一AI视频生成神器!

Video Ocean,又一AI视频生成神器! 引言 大家好,今天想和大家聊聊一个特别的工具——Video Ocean。在如今这个短视频盛行的时代,大家都知道,制作一个吸引眼球的视频可不是一件简单的事情。传统的视频编辑软件复杂又费…