4

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

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

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

请帮我解决这个问题。谢谢

4

2 回答 2

2

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

对我有用的解决方案:

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

参考链接:修改 Android .aar 文件内容 / 与 .zip 格式相互转换

于 2019-01-10T13:28:45.617 回答
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* 文件夹中的所有内容。

于 2019-01-10T11:14:11.843 回答