我有一个包含多个模块的项目。有些模块依赖于同一个jar。现在每个模块都有自己的" libs"包含2个相同库的jar的文件夹。更新jar文件可能会有问题,因为我现在必须更改所有模块中的所有jar文件。此外,我遇到一个编译问题,说有重复的类。一种解决方法是从所有模块中删除jar文件,除了一个。这是唯一的方法吗?还是有更好的方法?
答案 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
中,我已将此添加到dependencies
:compile project(path: ':name_of_the_jar_file')
我重建了所有并且它有效。 JAR file
现在出现在APK
中,并且在运行时不会再出现崩溃。
答案 1 :(得分:1)
创建一个新模块,只是为了在libs中拥有公共jar文件。并将此新模块作为依赖项添加到需要jar文件的其他模块中。
首先创建一个新模块,比如" commonJar"。档案 - >新 - >新模块 - >选择Android库
现在,将jar库添加到此模块的libs文件夹中。
然后,将此模块添加为其他模块的build.gradle中的依赖项。 编译项目(':commonJar')