侧边栏壁纸
  • 累计撰写 379 篇文章
  • 累计创建 60 个标签
  • 累计收到 109 条评论

目 录CONTENT

文章目录

AndroidStudio AAR文件修改.改代码,改layout布局-操作简单

Z同学
2021-07-05 / 0 评论 / 0 点赞 / 1,861 阅读 / 1,070 字
温馨提示:
本文最后更新于 2021-11-18,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

前言

最近在改老项目的代码.碰见了老项目依赖的aar库之中存在的bug.

但是因为时间紧,任务重.该aar文件的源代码的版本升级了太多了.

新版本代码打包的话,可能会出现更多意想不到的问题.同时与当前项目不符的地方也有不少.

索性尝试,直接修改aar文件先解决当前的bug.

同时也记录一下几种不同情况下替换的方法.

注意:只是临时解决方法.替换的也是少部分的代码.如果替换代码过多不建议这样替换

1.需要修改aar文件里面的java代码,新增或者删除

主要用来替换aar文件之中的java代码.或者添加新的java文件代码.

通过android Studio的External Libraries 我们可以看到aar文件的整个文件格式和java代码.效果图如下:
image.png

第一步: 复制你需要修改的代码.然后修改完代码之后,通过javac命令.将java文件编译成class文件.

命令

javac XXXX.java 

就可以在该文件目录下得到class文件.

而如果不想使用这个,也可以直接在你的项目代码之中,按照aar里面的类的结构创建包名.然后执行编译.

编译后的代码将会存放在 build/intermediates/javac/xxxx 你的文件的包名.

参考如下.
image.png

第二步:
将class文件打包到aar文件之中的jar包里面.

1.将aar文件之中的jar文件解压出来.
通过命令jar uvf classes.jar xxx.class 可以将class文件打包进jar.请注意,你所修改的类名开头的.class文件需要全部复制.
2.将classes.jar使用压缩软件,替换aar文件里面的即可.

如果第二步繁琐的话,可以试试Bandizip压缩工具.它可以直接针对jar文件进行修改.

image.png
然后保存
image.png

2.需要修改aar文件里面的xml布局文件.

如果想修改aar文件之中的layout文件.

直接写好了layout文件.替换aar文件里面的layout即可,或者新增也是直接替换即可.

可以使用压缩软件打开aar文件,然后再替换里面的文件.直接压缩.

但是:layout等布局或者资源修改后.需要在R.txt 之中添加上id
否则将无法找到指定布局或者view
image.png

而ID后面的值
image.png
可以参考R.txt的命名,只要不和文档之中相同类型的ID重复即可.

最后

将aar文件重新导入项目.clean项目后,build就能使用修改后的代码了.

修改后的代码和布局也能看到.

至此aar文件的修改步骤就结束了.

步骤很简单,你将aar文件理解成一种压缩包即可.将xml文件和class文件压缩在一起.

我们要替换也是围绕这个思路进行的替换.

0

评论区