多个模块使用相同的jar

时间:2015-07-10 14:41:14

标签: android android-studio android-gradle

我有一个包含多个模块的项目。有些模块依赖于同一个jar。现在每个模块都有自己的" libs"包含2个相同库的jar的文件夹。更新jar文件可能会有问题,因为我现在必须更改所有模块中的所有jar文件。此外,我遇到一个编译问题,说有重复的类。一种解决方法是从所有模块中删除jar文件,除了一个。这是唯一的方法吗?还是有更好的方法?

2 个答案:

答案 0 :(得分:5)

我已经能够解决这个问题。这reading about Gradle给了我很多帮助。这就是我所做的:

我没有将JAR file放入moduleA/libs folder,而是通过点击JAR file导入了Android Studio中的project then right click -> new -> module。然后我点击Import .JAR/.AAR package。这创建了一个module containing the JAR file + a gradle script

然后,在moduleA’s gradle script中,我已将此添加到dependenciescompile project(path: ':name_of_the_jar_file')

我重建了所有并且它有效。 JAR file现在出现在APK中,并且在运行时不会再出现崩溃。

答案 1 :(得分:1)

创建一个新模块,只是为了在libs中拥有公共jar文件。并将此新模块作为依赖项添加到需要jar文件的其他模块中。

  1. 首先创建一个新模块,比如" commonJar"。档案 - >新 - >新模块 - >选择Android库

  2. 现在,将jar库添加到此模块的libs文件夹中。

  3. 然后,将此模块添加为其他模块的build.gradle中的依赖项。 编译项目(':commonJar')