Android修改aar并重新打包

目录

一.修改 aar 需要用到的工具(就一个工具,使用方式非常简单,别担心)

二.修改 aar 代码层业务逻辑

三.修改 aar layout 布局文件

四.附上recyclerview aar修改工程源码


一.修改 aar 需要用到的工具(就一个工具,使用方式非常简单,别担心)

注:(下面工具,点击名称可进入下载链接,如果链接失效,请百度搜索下载)

  1. Bandizip,一款非常好用的解压缩工具,安装的时候,请记住安装目录,后面可能会用到。如果有其他解压缩工具也可以使用。

二.修改 aar 代码层业务逻辑

  1. 代码定位:
    1.1 方式一:在开发工具中,根据代码跳转到 aar 中你想修改的类
    1.2 方式二:在 Android Studio 中,将目录结构从 Android 改为 Project,然后在 External Libraries 中找到对应的 aar 和 想要修改的类,如下图

    Android修改aar并重新打包_第1张图片

    Android修改aar并重新打包_第2张图片

                                         

  2. 找到 aar 中想要修改的类,并在你的项目中建立一个同包名,同类名的类。
    例如:你想要修改 aar 中的androidx.recyclerview.widget
     包名下类名为 RecyclerView 的类,则你需要在你的项目中新建一个包androidx.recyclerview.widget,然后再建一个类名为 RecyclerView 的类(注意如果跟项目默认引入的recyclerview1.1.0冲突的话,可以重命名包名,比如新建的包名为xx.androidx.recyclerview.widget,但是widget下面的代码得都复制过去)。
  3. 将 aar 中类 RecyclerView  的内容全都复制到你新建的类 RecyclerView 中(注:有些内容是编译器反编译生成的,不符合代码开发规范,会报错,需要你自行修改),并在类 RecyclerView  中,编写你想实现的逻辑代码。
  4. 修改完成后,clean 项目,在重新build 项目,编辑器会报错 Program type already presentMore than one file was found with OS independent path 等包重复或冲突等问题,不用理会(编译不过,可以用compileOnly files('libs/recyclerview-1.2.0-alpha04.aar')。
    1. 进入项目文件夹,项目根目录/build/intermediates/javac/debug/对应包名 (不同的 Android Studio 版本路径可能不同,需要自行查找),将你修改的 类名开头.class 文件全都复制,如下图(注:必须从文件夹路径查看,不要从Android Studio 下查找该路径复制类,因为从 Androi Studio 路径下查看,内部类文件未显示)

      Android修改aar并重新打包_第3张图片

      Android修改aar并重新打包_第4张图片

  5. 接下来会根据 Bandizip 解压缩工具讲解,请根据图片进行操作:
    6.1 在文件夹中右键选中 aar 包,选择打开方式,选择 Bandizip(如果没有,则从更多应用里选择,然后从刚才安装的 Bandizip目录找到 Bandizip.exe 即可 ),如下图

    Android修改aar并重新打包_第5张图片


    6.2 在打开的窗口中,按下图进行操作

    Android修改aar并重新打包_第6张图片


    6.3 找到修改的类的包名,将步骤 5 修改生成的 .class 类文件(包含内部类文件)复制进去

    Android修改aar并重新打包_第7张图片

     

    Android修改aar并重新打包_第8张图片

     

    Android修改aar并重新打包_第9张图片

     

    Android修改aar并重新打包_第10张图片


    6.3 然后将 aar 包重新导入项目(导入之前,先将原先的 aar 删除,clean 后再build,然后导入新的 aar 包,再 build ,不然项目会使用旧的 aar 包,
    修改recyclervie直接把新aar放在libs文件下,接着在build应用级文件夹下引用即可 implementation files('libs/recyclerview-1.2.0-alpha04.aar')

    6.4 至此,aar 修改业务代码步骤结束。

三.修改 aar layout 布局文件

  1. 有的时候,需要修改 aar 中某个布局文件,例如:想在 aar 中的 activity_layout_login 布局文件增加一个 Button 按钮。
  2. 接下来会根据 Bandizip 解压缩工具讲解,请根据图片进行操作
    2.1 在文件夹中右键选中 aar 包,选择打开方式,选择 Bandizip(如果没有,则从更多应用里选择,然后从刚才安装的 Bandizip目录找到 Bandizip.exe 即可 ),如下图

    Android修改aar并重新打包_第11张图片


    2.2 点击编辑,修改布局文件,新增或修改资源 id 后,请记住 id 名称,后面会用到,保存关闭(也可以在 Android Studio 中编辑并预览,然后将内容复制到这个布局文件中)。

    Android修改aar并重新打包_第12张图片

     

    Android修改aar并重新打包_第13张图片


    2.3 修改 aar 包中的 R.txt,(一定要修改,不然在项目中无法使用刚才新增或修改的资源 id),右键 R.txt ,选择编辑,并保存退出,如下图:

    Android修改aar并重新打包_第14张图片

     

    Android修改aar并重新打包_第15张图片

     

    Android修改aar并重新打包_第16张图片


    2.4 然后将 aar 包重新导入项目,就可引入新的资源(导入之前,先将原先的 aar 删除,clean 后再build,然后导入新的 aar 包,再 build ,不然项目会使用旧的 aar 包)
    2.5 至此,aar 修改业务代码步骤结束。

四.附上recyclerview aar修改工程源码

链接:https://pan.baidu.com/s/1x0zmXD_uQqw_7OVdF3HJ5Q?pwd=ab7d 
提取码:ab7d

你可能感兴趣的:(android,aar,recyclerview,jar,修改)