Android-如何exclude aar包中的某个jar包

场景一

要移除的jar包不在aar包中的classes.jar中

直接把aar包里的Jar打包的时候给去掉,就像下面这这样。注意,要使用exclude module这种方式,直接使用exclude group方式没有效果。exclude group的方法适用于exclude JAR包中的文件。

    implementation(name: '×××××××aar包', ext: 'aar') {
        exclude module: 'gson'
    }

场景二

要移除的jar包在aar包中的classes.jar中

这个时候,使用exclude方法已经不能生效了。你可以使用下面的通用方法

  1. 解压aar文件到tmpDir目录下
    unzip ×××.aar -d tmpDir
  2. 找到classes.jar包,用压缩工具打开,删除目标文件
  3. 将tmpDir重新打包成一个新的aar
    jar cvf ×××NewLib.aar -C tmpDir/

补充:我在Ubuntu下直接使用压缩工具打开aar包,然后删除其中的重复的文件,这个方法也是可行的。

你可能感兴趣的:(Android开发填坑)