反编译AAR 实现Codelocator不报错 保留跳转到XML功能

序言

之前写过一篇文章就是说怎么避免codelocator不报错。参考CodeLocator 避免控制台弹出一堆错误日志

但是上面的解决方案有个问题。就是配置以后,跳转到XML功能无法使用。也就是下面这个功能。这个功能还挺好用的,我想保留,但是不想报错。 于是研究怎么达到这种效果。

解决方案

有两种改源码的方案,一种就是通过修改源代码然后编译。还有一种是反编译AAR,替换部分java文件。改源代码太简单了,我准备挑战自己通过反编译AAR来实现。

第一步找到AAR

将Android Studio的视图模式切换到Project模式。然后通过定位第三方文件来找到gralde的缓存文件。
在这里插入图片描述
但是这个地址是存放解压的文件的地方。需要向上倒腾一下。
在这里插入图片描述
一般是在这个位置

C:\Users\lenovo.gradle\caches\modules-2\files-2.1

在这里插入图片描述
再根据包名查找一下

在这里插入图片描述

第二步解压aar

关于解压我说一句,其实不需要那么复杂,修改后缀名成zip文件解压就行了。麻烦的是在于压缩。
压缩的时候一定要选中全部文件,再选择压缩成zip文件就行了。不能直接在一个文件夹上面右键选择压缩。因为这样的话,会多一个文件夹的层级。层级就不对。

在这里插入图片描述
在这里插入图片描述
解压以后
在这里插入图片描述

第三步修改java文件

只需要把aar导入到任何一个工程,然后根据要修改文件的包名创造同样的包结构和java文件。

在这里插入图片描述
修改java文件。然后单击make project在这里插入图片描述

找到编译后的文件替换

如果找不到build文件夹可以如下操作。
在这里插入图片描述

编译后的文件地址是。

在这里插入图片描述

在这里插入图片描述
将上面的class文件替换到aar中。重新打包就行了。

将classe.jar 解压,替换对应的class文件即可。然后重新打包。
在这里插入图片描述

测试

放入这两个文件。有一个jar文件是aar需要依赖的。
在这里插入图片描述
不会再频繁报错了,跳转到XML的功能也有。
在这里插入图片描述

下载

相关的两个文件我已经打包成压缩包,下载导入就可以使用。基于的是codelocator 2.0.0

不报错的codelocator.rar

相关推荐

  1. vue3微信小程序成功案例,分析

    2024-02-01 18:26:01       40 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-01 18:26:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-01 18:26:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-01 18:26:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-01 18:26:01       20 阅读

热门阅读

  1. basicPython-5

    2024-02-01 18:26:01       28 阅读
  2. 开源机器人ros 基本概念详细介绍

    2024-02-01 18:26:01       33 阅读
  3. 通过 React 来构建界面

    2024-02-01 18:26:01       30 阅读
  4. 白虎汤原方

    2024-02-01 18:26:01       38 阅读
  5. QTimer 指针类型和引用类型使用的区别

    2024-02-01 18:26:01       32 阅读
  6. 2024 高级前端面试题之 Node 「精选篇」

    2024-02-01 18:26:01       37 阅读