当前位置: 首页 > news >正文

Android 解决引入的三方库中类名冲突问题

参考:

Android开发——如何解决三方库中的类名冲突问题_android 类冲突-CSDN博客

Android 解决 jar/aar 包类名冲突 - 简书

实操步骤

1.提前安装好unzip-5.51-bin,proguard-7.4.0,jarjar-1.4软件

2.解压包名冲突的 AAR 文件

进入到需要修改包名的aar(此例为itrustekyclibrary.aar)存放的目录,执行解压命令:

unzip itrustekyclibrary.aar -d tempFolder

3.将tempFolder文件夹中的classes.jar放到 E:\jar-tool\目录下

注意与下述混淆规则文件convert.txt中的-injars path中指定的path一致即可

4.创建混淆打包规则文件 convert.txt

-injars 'E:\jar-tool\classes.jar'
-outjars 'E:\jar-tool\classes-out.jar'-dontskipnonpubliclibraryclassmembers
-dontshrink
-dontoptimize
-dontusemixedcaseclassnames
# 在这里指定要转换成的包名
-repackageclasses a.a
-dontpreverify
-dontnote
-dontwarn
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,LocalVariable*Table,*Annotation*,Synthetic,EnclosingMethod# 需要注意观察原始 jar 包中哪些是没有混淆的,需要保留
-keep class jp.co.cybertrust.itrust.identification.** {*;}
-keep class b.** {*;}
-keep class c.** {*;}
-keep class d.** {*;}
-keep class e.** {*;}
-keep class f.** {*;}
-keep class g.** {*;}
-keep class h.** {*;}
-keep class i.** {*;}
# 因为我们的目的只是替换外层包名,类内部的一些东西都不用管
-keepclassmembers class ** {*;}

5.执行命令生成新的classes.jar

进入对应的文件目录:E:\proguard-7.4.0\proguard-7.4.0\bin,执行重打包命令:

proguard.bat @E:\jar-tool\convert.txt

6.替换原始的classess.jar

将新生成的classes-out.jar替换tempFolder中的classes.jar

7.重新打包aar, 命令如下(注意空格后有一个点)

jar cvf newAAR.aar -C tempFolder/ .

相关文章:

Android 解决引入的三方库中类名冲突问题

参考: Android开发——如何解决三方库中的类名冲突问题_android 类冲突-CSDN博客 Android 解决 jar/aar 包类名冲突 - 简书 实操步骤 1.提前安装好unzip-5.51-bin,proguard-7.4.0,jarjar-1.4软件 2.解压包名冲突的 AAR 文件 进入到需要修…...

扩展学习|大数据分析的现状和分类

文献来源:[1] Mohamed A , Najafabadi M K , Wah Y B ,et al.The state of the art and taxonomy of big data analytics: view from new big data framework[J].Artificial Intelligence Review: An International Science and Engineering Journal, 2020(2):53. 下…...

java学习笔记-初级

完整笔记下载链接&#xff1a;https://download.csdn.net/download/qq_48257021/88800766?spm1001.2014.3001.5503 一、变量 1.双标签 <!-- 外部js script 双标签 --><script srcmy.js></script> 在新文件my.js里面写&#xff1a; 2.字符串定义&#xff…...

使用axios 封装大文件上传,支持断点续传的功能

使用 Axios 实现断点续传、重试、暂停、开始和上传进度功能 简介 在许多应用程序中&#xff0c;我们经常需要上传大文件。但是&#xff0c;由于网络连接不稳定或其他原因&#xff0c;上传过程可能会中断。为了解决这个问题&#xff0c;我们可以使用断点续传功能。断点续传允许…...

在python中,设置json支持中文字符串

# 省略以上环节 ... # 假设json格式如下 system_info_dict {uptime: uptime.split(".")[0],cpu_usage: cpu_usage,memory_usage: memory_usage,disk_usage: disk_usage,battery_percentage: battery_percentage,battery_status: batteryStatus }# 设置json支持中文字…...

qnx du统计目录大小单位

在qnx上使用du命令统计目录大小时&#xff0c;发现统计数值与实际大小不一样。 比如目录下有个已知1gb大小的问题&#xff0c;但du统计出来的值跟1gb差太多了 # ls -al total 2097169 drwxrwxrwx 2 root root 4096 Jan 01 00:21 . drwxrwxrwx 6 root …...

测试人员如何向开发人员准确清晰地描述问题?

测试人员向开发人员准确清晰地描述问题可以采取以下方法&#xff1a; 提供详细的背景和上下文信息&#xff1a;描述问题发生的环境、前提条件和操作步骤&#xff0c;让开发人员能够了解问题出现的场景。明确问题的症状和表现&#xff1a;清楚地说明问题的具体表现&#xff0c;…...

何恺明新作 l-DAE:解构扩散模型

何恺明新作 l-DAE&#xff1a;解构扩散模型 提出背景扩散模型步骤如何在不影响数据表征能力的同时简化模型&#xff1f;如何进一步推动模型向经典DAE靠拢&#xff1f;如何去除对生成任务设计的DDM中不适用于自监督学习的部分&#xff1f;如何改进DDM以专注于清晰图像表示的学习…...

【数学建模获奖经验】2023第八届数维杯数学建模:华中科技大学本科组创新奖获奖分享

2024年第九届数维杯大学生数学建模挑战赛将于&#xff1a;2024年5月10日08:00-5月13日09:00举行&#xff0c;近期同学们都开始陆续进入了备赛阶段&#xff0c;今天我们就一起来看看上一届优秀的创新奖选手都有什么获奖感言吧~希望能帮到更多热爱数学建模的同学。据说点赞的大佬…...

Kubernetes(k8s第二部分)

资源清单相当于剧本 什么是资源&#xff1a; k8s中所有的内容都抽象为资源&#xff0c;资源实例化后&#xff0c;叫做对象。 1.K8S中的资源 集群资源分类 名称空间级别&#xff1a; kubeadm k8s kube-system kubectl get pod -n default 工作负载型资源&#xff0c;&a…...

mac新环境

1、maven 设置阿里云镜像 打开Maven的settings.xml文件。找到<mirrors>标签&#xff0c;如果没有&#xff0c;可以手动添加。在<mirrors>标签内部添加以下内容&#xff1a; <mirror> <id>nexus-aliyun</id> <mirrorOf>*</mirrorO…...

神经网络基础知识:LeNet的搭建-训练-预测

1.参考视频&#xff1a; 2.1 pytorch官方demo(Lenet)_哔哩哔哩_bilibili 2.总结&#xff1a; &#xff08;1&#xff09;LeNet网络就是 我最开始用来预测mnist数据集的那个网络&#xff0c;简单的2个conv2个maxpool3个linear层 &#xff08;2&#xff09;up主整理的train.py…...

SpringMVC 学习(七)之报文信息转换器 HttpMessageConverter

目录 1 HttpMessageConverter 介绍 2 RequestBody 注解 3 ResponseBody 注解 4 RequestEntity 5 ResponseEntity 6 RestController 注解 1 HttpMessageConverter 介绍 HttpMessageConverter 报文信息转换器&#xff0c;将请求报文&#xff08;如JSON、XML、HTML等&#x…...

浅谈密码学

文章目录 每日一句正能量前言什么是密码学对称加密简述加密语法Kerckhoffs原则常用的加密算法现代密码学的原则威胁模型&#xff08;按强度增加的顺序&#xff09; 密码学的应用领域后记 每日一句正能量 人生在世&#xff0c;谁也不能做到让任何人都喜欢&#xff0c;所以没必要…...

Android 混淆是啥玩意儿?

什么是混淆 Android混淆&#xff0c;是伴随着Android系统的流行而产生的一种Android APP保护技术&#xff0c;用于保护APP不被破解和逆向分析。简单的说&#xff0c;就是将原本正常的项目文件&#xff0c;对其类、方法、字段&#xff0c;重新命名a,b,c…之类的字母&#xff0c…...

【嵌入式——QT】QListWidget

QListWidget类提供了一个基于项的列表小部件&#xff0c;QListWidgetItem是列表中的项&#xff0c;该篇文章中涉及到的功能有添加列表项&#xff0c;插入列表项&#xff0c;删除列表项&#xff0c;清空列表&#xff0c;向上移动列表项&#xff0c;向下移动列表项。 常用API a…...

爬虫入门到精通_基础篇5(PyQuery库_PyQuery说明,初始化,基本CSS选择器,查找元素,遍历,获取信息,DOM操作)

1 PyQuery说明&#xff1a; PyQuery是python中一个强大而又灵活的网页解析库&#xff0c;如果你觉得正则写起来太麻烦&#xff0c;又觉得BeautifulSoup语法太难记&#xff0c;如果你熟悉jQuery的语法那么&#xff0c;PyQuery就是你绝佳的选择。 安装 pip3 install pyquery2 …...

用冒泡排序模拟C语言中的内置快排函数qsort!

目录 ​编辑 1.回调函数的介绍 2. 回调函数实现转移表 3. 冒泡排序的实现 4. qsort的介绍和使用 5. qsort的模拟实现 6. 完结散花 悟已往之不谏&#xff0c;知来者犹可追 创作不易&#xff0c;宝子们&#xff01;如果这篇文章对你们有帮助的话&#xff0c;别忘了给个免…...

智慧公厕:打造智慧城市环境卫生新标杆

随着科技的不断发展和城市化进程的加速推进&#xff0c;智慧城市建设已经成为各地政府和企业关注的焦点。而作为智慧城市环境卫生管理的基础设施&#xff0c;智慧公厕的建设和发展也备受重视&#xff0c;被誉为智慧城市的新标杆。本文以智慧公厕源头厂家广州中期科技有限公司&a…...

【学习版】Microsoft Office 2021安装破解教程

本文转载自知乎&#xff1a;https://zhuanlan.zhihu.com/p/655653158 由本人二次整理修改 用到的软件为&#xff1a;Office Tool Plus&#xff0c;下载链接&#xff1a;Office Tool Plus 官方网站 - 一键部署 Office (landian.vip) 下载页面&#xff1a;&#xff08;随机找个站…...

Win11Debloat:免费Windows系统优化终极指南,一键提升51%运行速度

Win11Debloat&#xff1a;免费Windows系统优化终极指南&#xff0c;一键提升51%运行速度 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other change…...

为什么你的游戏手柄需要这个神奇驱动?ViGEmBus让所有设备变专业控制器

为什么你的游戏手柄需要这个神奇驱动&#xff1f;ViGEmBus让所有设备变专业控制器 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus 想象一下&#xff0c;你心…...

MAA明日方舟助手:3个步骤告别重复性游戏操作,实现全自动智能管理

MAA明日方舟助手&#xff1a;3个步骤告别重复性游戏操作&#xff0c;实现全自动智能管理 【免费下载链接】MaaAssistantArknights 《明日方舟》小助手&#xff0c;全日常一键长草&#xff01;| A one-click tool for the daily tasks of Arknights, supporting all clients. …...

宇树科技冲刺“人形机器人第一股”:出货量全球第一,专利短板却成IPO最大隐忧?

宇树科技冲刺“人形机器人第一股”&#xff1a;出货量全球第一&#xff0c;专利短板却成IPO最大隐忧&#xff1f;成都余行10000项创新清单&#xff0c;助机器人企业构建与出货量匹配的专利护城河2026年3月&#xff0c;宇树科技正式递交科创板IPO招股书&#xff0c;拟募资42.02亿…...

Qwen2-VL-2B-Instruct与Vue3集成指南:构建智能前端应用

Qwen2-VL-2B-Instruct与Vue3集成指南&#xff1a;构建智能前端应用 用最简单的方式&#xff0c;让AI视觉能力为你的Vue应用赋能 1. 开篇&#xff1a;为什么要在Vue里集成视觉AI&#xff1f; 最近一直在折腾各种AI模型&#xff0c;发现Qwen2-VL-2B-Instruct这个多模态模型确实有…...

翻译工具太单调?试试像素语言·跨维传送门:一键部署,开箱即用

翻译工具太单调&#xff1f;试试像素语言跨维传送门&#xff1a;一键部署&#xff0c;开箱即用 1. 产品概述 像素语言跨维传送门&#xff08;Pixel Language Portal&#xff09;是一款基于腾讯混元MT-7B核心引擎构建的高端翻译终端。与传统翻译工具不同&#xff0c;它采用16-…...

避开SIwave PDN仿真的第一个坑:手把手教你检查VRM与Sink设置(附阻抗曲线解读)

避开SIwave PDN仿真的第一个坑&#xff1a;手把手教你检查VRM与Sink设置&#xff08;附阻抗曲线解读&#xff09; 在高速电路设计中&#xff0c;电源分配网络&#xff08;PDN&#xff09;的阻抗特性直接影响着系统的稳定性和信号完整性。许多工程师在使用SIwave进行PDN仿真时&a…...

translategemma-27b-it惊艳效果:中文方言告示图→标准英文+语境适配翻译

translategemma-27b-it惊艳效果&#xff1a;中文方言告示图→标准英文语境适配翻译 你有没有遇到过这样的场景&#xff1f;在网上看到一张有趣的中文告示牌图片&#xff0c;上面可能还带着点方言口吻&#xff0c;你想分享给外国朋友&#xff0c;却不知道怎么翻译才能既准确又有…...

从流量包到攻击画像:一次APT攻击的深度取证WriteUp

1. 从流量包到攻击画像&#xff1a;APT攻击取证实战 那天下午接到应急响应通知时&#xff0c;我正在喝第三杯咖啡。客户发来的压缩包里只有一个5MB的pcap文件&#xff0c;但我知道这里面可能藏着整个攻击链条的关键证据。作为安全分析师&#xff0c;我们就像网络空间的法医&am…...

模型视图控制器管理化技术MVC架构演变

模型视图控制器&#xff08;MVC&#xff09;架构作为软件工程领域的经典设计模式&#xff0c;自20世纪70年代诞生以来&#xff0c;经历了多次迭代与扩展&#xff0c;至今仍是开发复杂应用系统的核心框架之一。它的核心思想是将应用逻辑分为模型&#xff08;Model&#xff09;、…...