通过插件去除Kotlin混淆去除 @Metadata标记

在Kotlin中,Metadata是指描述Kotlin类的元数据。它包含了关于类的属性、函数、注解和其他信息的描述。Metadata的作用主要有以下几个方面:

  • 反射:Metadata可以用于在运行时获取类的信息,包括类的名称、属性、函数等。通过反射,我们可以在运行时动态地访问和操作类的成员。

  • 序列化和反序列化:Metadata可以用于将类的信息转换为字节流并进行存储或传输。这样就可以将类的状态保存下来,以便在需要时进行恢复或重建。

  • 虚拟机优化:Metadata中的信息可以帮助虚拟机进行优化,例如对类的成员进行内联、优化函数调用等。这样可以提高程序的性能和效率。

如:

@Metadata(mv = {1, 1, 9},bv = {1, 0, 2},k = 1,d1 = {"..."},d2 = {"Lcom/bennyhuo/kotlinspecifics/reflect/SubClass;", "Lcom/bennyhuo/kotlinspecifics/reflect/SuperClass;", "()V", "Companion", "production sources for module app"}
)public final class SubClass extends SuperClass {...
}

但是这些内容会暴漏一些信息

在这里插入图片描述

使用 https://github.com/oliver-jonas/unmeta 插件,能够在打包时移除class中的Metadata标签信息

目前尝试的是将本地项目移动到unmeta项目进行发布aar的方式,是可以使用的。
在这里插入图片描述

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

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

相关文章

Spring面试题5:面试官:为什么说Spring是一个容器?如何给Spring容器提供配置元数据?

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:为什么说Spring是一个容器? Spring被称为一个容器,是因为它提供了一个运行环境和管理机制,用于管理应用程序中的对象的生命周期和依赖关系。 …

多维时序 | MATLAB实现WOA-CNN-LSTM-Attention多变量时间序列预测(SE注意力机制)

多维时序 | MATLAB实现WOA-CNN-LSTM-Attention多变量时间序列预测(SE注意力机制) 目录 多维时序 | MATLAB实现WOA-CNN-LSTM-Attention多变量时间序列预测(SE注意力机制)预测效果基本描述模型描述程序设计参考资料 预测效果 基本描…

STL-函数对象、谓词、常用算法

函数对象 函数对象概念 重载函数调用操作符的类,其对象常称为函数对象 函数对象使用重载的()时,行为类似函数调用,也叫仿函数 本质: 函数对象(仿函数)是一个类,不是一个函数 函数对象使用…

嵌入式单片机上练手的小型图形库

大家好,今天分享一款小型的图形库。 Tiny Graphics Library: http://www.technoblogy.com/show?23OS 这个小型图形库提供点、线和字符绘图命令,用于 ATtiny85 上的 I2C 128x64 OLED 显示器. 它通过避免显示缓冲器来支持RAM有限的处理器&…

tcpdump常用命令

需要安装 tcpdump wireshark ifconfig找到网卡名称 eth0, ens192... tcpdump需要root权限 网卡eth0 经过221.231.92.240:80的流量写入到http.cap tcpdump -i eth0 host 221.231.92.240 and port 80 -vvv -w http.cap ssh登录到主机查看排除ssh 22端口的报文 tcpdump -i …

银行家算法——C语言实现

算法思路 将操作系统看作是银行家,操作系统所拥有的资源就相当于银行家所拥有的资产,进程向操作系统申请资源就相当于资产家向银行贷款,规定资产家在向银行贷款之前,先申明其所贷数额的最大值,申明之后其贷款的数额不…

数据结构与算法-时间复杂度与空间复杂度

数据结构与算法 🎈1.概论🔭1.1什么是数据结构?🔭1.2什么是算法? 🎈2.算法效率🔭2.1如何衡量一个算法的好坏?🔭2.2算法的复杂度🔭2.3时间复杂度📖2…

软件设计师考试学习2

数据结构与算法基础 数组 稀疏矩阵 用代入法计算,A 数据结构的定义 非线性结构分为树和图,区别在于有没有环路 顺序表与链表 引入头节点可以使所有的节点处理方式一致 如果没有空的头节点,头节点需要单独处理 顺序存储与链式存储 查找…

AI-Chat,一款集全网ai功能的应用(附下载链接)

AI-Chat是一款综合性的聊天机器人,集成了多种先进的模型和功能。它采用了GPT4.0、联网版GPT和清华模型等多种模型,使得其具备更强大的语言处理能力。同时,AI-Chat还融合了AI绘画模型,例如Stable Diffusion绘画、文生图、图生图、艺…

LuatOS-SOC接口文档(air780E)--bit64 - 32位系统上对64位数据的基本算术运算和逻辑运算

bit64.to32(data64bit) 64bit数据转成32bit输出 参数 传入值类型 解释 string 9字节数据 返回值 返回值类型 解释 any 根据64bit数据输出int或者number 例子 无 bit64.to64(data32bit) 32bit数据转成64bit数据 参数 传入值类型 解释 int/number 32bit数据 …

oraenv Oracle_SID for sid in

Oracle 环境变量获取 for SID in ps -ef | grep pmon | grep -v grep | grep -v ASM | cut -d"_" -f3,4 do #export ORACLE_BASE/u01/app/grid #export ORACLE_HOME/u01/app/oracle/product/19.0.0/dbhome_2 #export ORACLE_SIDnoexist #export LD_LIBRARY_PAT…

基于下垂控制的并网逆变器控制MATLAB仿真模型

微❤关注“电气仔推送”获得资料(专享优惠) 主要模块: 建议使用MATLAB2021b及以上版本打开! 功率计算模块、下垂控制模块、电压电流双环控制模块、虚拟阻抗压降模块 扰动设置: 在0.5秒到2秒始端设置0.25Hz的电网频…

手机上网流程解析

来看一个手机开机之后上网的流程,这个过程称为 Attach。可以看出来,移动网络还是很复杂的。因为这个过程要建立很多的隧道,分配很多的隧道 ID,所以我画了一个图来详细说明这个过程。 1、手机开机以后,在附近寻找基站 e…

Hadoop源码阅读(三):HDFS上传

说明: 1.Hadoop版本:3.1.3 2.阅读工具:IDEA 2023.1.2 3.源码获取:Index of /dist/hadoop/core/hadoop-3.1.3 (apache.org) 4.工程导入:下载源码之后得到 hadoop-3.1.3-src.tar.gz 压缩包,在当前目录打开Pow…

Sentinel整合Gateway

硬编码方式配置限流规则 pom引入依赖<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> </dependency> <dependency><groupId>com.alibaba.cloud</group…

2023华为杯数学建模竞赛E题

一、前言 颅内出血&#xff08;ICH&#xff09;是由多种原因引起的颅腔内出血性疾病&#xff0c;既包括自发性出血&#xff0c;又包括创伤导致的继发性出血&#xff0c;诊断与治疗涉及神经外科、神经内科、重症医学科、康复科等多个学科&#xff0c;是临床医师面临的重要挑战。…

Mac下使用vscode远程到服务器时解决opencv显示图像的问题

问题背景 当你使用vscode远程到服务器进行开发的时候&#xff0c;想要显示图像会出现报错&#xff0c;时因为服务器没有GUI支持&#xff0c;不能直接显示图像。我在使用Mac的时候遇到了这个问题&#xff0c;给出解决的方案&#xff0c;搭建相关环境。 X11 Forwarding 在mac下…

Python之网络编程

一、网络编程 互联网时代,现在基本上所有的程序都是网络程序,很少有单机版的程序了。 网络编程就是如何在程序中实现两台计算机的通信。 Python语言中,提供了大量的内置模块和第三方模块用于支持各种网络访问,而且Python语言在网络通信方面的优点特别突出,远远领先其他语…

videoPlayer的播放

就是videoPlayer需要赋给他一个RenderTexture这个RenderTexture可以设置宽高在这个texture里面进行播放的视频&#xff0c;宽高会自动进行等比例缩放。之所以遇到这个问题&#xff0c;是因为视频宽高也需要自适应&#xff0c;但是来不及做策划就说按照1080*1920来做&#xff0c…

RabbitMQ配置文件_修改RabbitMQ MQTT的1883端口

Centos离线安装RabbitMQ并开启MQTT Docker安装rabbitMQ RabbitMQ集群搭建和测试总结_亲测 Docker安装RabbitMQ集群_亲测成功 rabbitmq.conf 默认没有配置文件,可以手动创建: /etc/rabbitmq/rabbitmq.conf # # RabbitMQ broker section # ## Related doc guide: https://…