我有一个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] 删除。
我来说两句