Android Studio:多模块项目中的外部JAR链接

奥利维尔·格勒诺布尔

我有一个Android应用程序(在Android Studio上运行)。它由2个模块组成:-有一个低层的纯Java模块(我们称其为模块A)。-最上面的是模块B,它是Android应用程序。它依靠moduleA进行某些处理。

一切正常。

现在,我需要模块A来调用外部库。我已经下载了JAR文件,并将其放在moduleA / libs文件夹中。此libs文件夹在moduleA的gradle依赖项中引用,因此编译正常。但是,在运行时会有一个例外:

致命异常原因:java.lang.ClassNotFoundException:在路径:DexPathList上找不到类“ XXXX”

我已经看到APK不包含JAR文件,因此发生这种异常是正常的。

如果我将相同的JAR文件复制到moduleB / libs中,则可以正常工作,但我在项目中有两次JAR文件!有什么干净的解决方案来解决这个问题?我想可以用gradle解决它,但我不知道如何解决。

非常感谢奥利维尔

奥利维尔·格勒诺布尔

我已经能够解决此问题。有关Gradle的阅读对我有很大帮助:http : //tools.android.com/tech-docs/new-build-system/user-guide#TOC-Creating-a-Library-Project

我要做的是:没有将JAR文件放在moduleA / libs文件夹中,而是通过单击项目,然后右键单击-> new-> module,在Android Studio中导入了JAR文件。然后,我单击“导入.JAR / .AAR包”。这创建了一个包含JAR文件+ gradle脚本的模块。

然后,在moduleA的gradle脚本中,将其添加到依赖项中:compile project(path:':name_of_the_jar_file')

我重建了所有的东西,并且工作正常。JAR文件现在存在于APK中,运行时不再崩溃。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

来自Android Studio中外部项目的链接模块

多模块项目中的android样式

Android Studio项目中的虚假模块“ ..”

多模块Android项目中的单个皮棉报告

从导入的库访问项目中的 jar - gradle / android studio

有没有一种方法可以使用导航组件在Android多模块项目中创建隐式深层链接

从Android项目中使用的JAR记录

如何将监视模块添加到现有的Android Studio项目中?

(Dis-)在Android Studio项目中拥有多个模块的优势?

Android Studio:更改项目中一个特定模块的检查配置文件

导入card.io源代码作为Android Studio项目中的模块

如何将此模块添加到我的Android Studio项目中?

如何使用C ++本机代码链接到Android Studio项目中的GLES2

如何在Android Studio中将jar文件添加到项目中

我无法在android studio 0.4.6的项目中添加google-play-services.jar

如何在Android Studio项目中使用特定的外部库查找哪些文件

如何在Android Studio的React本机项目中包含外部库?

无法在Android Studio项目中构建gradle

如何从Android Studio项目中删除Git?

如何在使用Bazel作为构建系统的Android项目中导入外部模块/依赖项(例如Flic)?

多模块Android项目中的全局代码覆盖率:合并代码覆盖率报告(单元和UI测试)

为maven多模块项目中的模块创建jar

Android Studio-检测到不受支持的模块-不幸的是,您不能在一个项目中拥有非Gradle Java模块和Android-Gradle模块

最好在新模块或Android Studio项目的libs文件夹中添加jar

Android Studio 3.0 RC2-多模块项目的“未找到默认活动”

如何在包含的Android库上过渡地使用Android项目中Java项目中的jar?

我们可以将Flutter模块添加到现有的Android Studio项目中吗?

如何在Android Studio中将桌面平台模块添加到现有的libGDX项目中?

努力在我的Android Studio项目中获取Android View