反编译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

相关推荐
执明wa8 天前
Android RecyclerView 多类型, 多种 Item
android·xml·开发语言·设计模式·android studio
wl85118 天前
SAP CPI 教程004 如何通过groovy修改XML节点属性值
xml
码匠许师傅10 天前
【C++三方组件】TinyXML2:两个文件的极简 XML 解析器
xml·c++
yuzhiboyouye11 天前
my-batisPlus什么时候用xml什么时候用mapper自带的方法,这两种写法专业一点叫什么,什么场景分别使用
xml
筝筝ba12 天前
如何跳过FFDC
xml·linux·运维·服务器·网络
yuzhiboyouye12 天前
那xml对应的sql语法,列举一下
xml·数据库·sql
筝筝ba17 天前
OpenBMC 自动化测试中的多进程陷阱:从 Execute Process 返回异常到 output.xml 损坏问题分析
xml·linux·运维·服务器·网络
spencer_tseng22 天前
[j2cache ehcache.xml]/tmp/.ehcache-diskstore.lock (Permission denied)
xml·linux·python·ehcache·[j2cache
DevOpenClub23 天前
PDF 多格式解析如何避免混用输出:TEXT、HTML、XML 与 TAG 数据契约
xml·前端·数据库·pdf·html
Java小白笔记23 天前
MyBatis XML Mapper 标签与 CRUD 原理实战
xml·数据库·mybatis