美文网首页
逆向编程 - 手动合并2个或2个以上第三方AAR文件(详细步骤)

逆向编程 - 手动合并2个或2个以上第三方AAR文件(详细步骤)

作者: 一森 | 来源:发表于2020-05-29 12:48 被阅读0次

    使用工具:

    1、android studio 3.4.1

    2、Beyond Compare

    3、windows 需要一把趁手的命令行工具

    比如项目用到了两个第三方AAR文件,如图:

    项目中用到了两个jar

    1、首先来了解一下AAR文件的结构

    - 通过命令进行AAR文件解压

     unzip account-util.aar -d account-util

     unzip log_util.aar -d log_util

    解压两个aar文件是这样的

    解压后看到以下内容是必须包含的:

    /AndroidManifest.xml

    /classes.jar

    /res/

    /R.txt

    此外,根据打包的 Library Module 情况不同,打包出来的 AAR 文件也可能包含以下内容:

    /assets/

    /libs/名称.jar

    /jni/abi 名称/名称.so(其中 abi 名称 是 Android 支持的 ABI 之一)

    /proguard.txt

    /lint.jar

    2、手动合并AAR(新建目录将对应文件进行合并)

    将两边的文件放入新建的目录里面,需要注意的是 AndroidManifest.xml 与 R.txt 文件以及 res中的value.xml文件需要Beyond Compare工具进行对比合并如下图:

    合并文件

    3、合并classes.jar

    命令进行解压两个aar中的classes.jar文件

    jar -xvf classes.jar

    并进行合并到一个目录下,如下图

    合并classes.jar内容

    命令进行打包成一个新的jar(注意后面的符号.

    jar -cvfM classes.jar .

    生成新的classes.jar

    4、将新的jar合并到之前的大目录里面,并进行打包新的aar文件

    合并两个aar完毕

    命令进行打包aar(注意后面的符号.

    jar cvf aar_util.aar -C aar_util/ .

    打包出新的aar文件

    5、引入项目使用

    成功引用,oye

    一切顺利,success!下节讲如何修改classes.jar中的二进制内容!

    相关文章

      网友评论

          本文标题:逆向编程 - 手动合并2个或2个以上第三方AAR文件(详细步骤)

          本文链接:https://www.haomeiwen.com/subject/cnhxzhtx.html