如何从.aar文件中排除.jar文件

时间:2019-01-10 10:17:59

标签: android android-gradle dependencies gson dynamic-feature

是否可以从.aar文件中排除.jar文件。我的项目没有运行,因为我有一个包含.aar文件的模块,其中Gson.jar用作库,我在主应用程序中也需要它,因此我还需要实现Gson依赖关系。当我尝试运行我的项目时,我遇到了multidex错误:

任务':app:transformClassesWithBundleMultiDexListForDevelopmentBuildDebug'的执行失败。

  

com.android.build.api.transform.TransformException:生成主dex列表时出错。

请帮助我解决此问题。谢谢

2 个答案:

答案 0 :(得分:0)

您可以在目标中自拔  就是这样

 sourceSets.main {
        manifest.srcFile 'AndroidManifest.xml'
        java.srcDirs = ['src']
        resources.srcDirs = ['src']
        aidl.srcDirs = ['src']
        renderscript.srcDirs = ['src']
        res.srcDirs = ['res']
        assets.srcDirs = ['assets']
        java {
            exclude '**/VanillaARMv*'
            exclude '**/VanillaX86*'
        }
        resources {
            exclude '**/VanillaARMv*'
            exclude '**/VanillaX86*'
        }
        aidl {
            exclude '**/VanillaARMv*'
            exclude '**/VanillaX86*'
        }
        renderscript {
            exclude '**/VanillaARMv*'
            exclude '**/VanillaX86*'
        }

    }

在这里,我从目标版本中排除了VanillaARMv *和VanillaX86 *文件夹中的所有内容。

答案 1 :(得分:0)

最后,经过大量搜索,我找到了解决方法。

对我有用的解决方案:

$ unzip myLib.aar -d tempFolder # or other extracting tool
# Change whatever you need
$ jar cvf myNewLib.aar -C tempFolder/ .

参考链接:Modifying contents of Android .aar file / Converting to and from .zip format