【发布时间】:2014-08-28 09:03:31
【问题描述】:
我有一个项目是一个 Android 库。它使用两个外部 jars(通用图像加载器和 ksoap)。
我需要从这个项目创建一个jar来分发它,但是当我这样做并使用这个项目时,我总是得到一个java.lang.NoClassDefFoundError,说没有找到ksoap类。
当我打开 jar 文件时,我看到两个 jar 都包含在内,但最终项目似乎没有看到它们。
我该怎么做?
谢谢!
【问题讨论】:
-
您不能通过 jar 分发 Android 库项目。原因是 jar 文件不能包含资产和资源。因此,如果您的项目有任何这些,您需要将其作为源代码分发。
-
谢谢@GabeSechan。这是唯一的方法吗?我无法将此项目作为源分发...
-
如果你没有资产,没有资源,你可以做一个jar。但是,如果您需要其中任何一个,罐子将不起作用。您可以通过让库用户将它们作为资产添加到他们的项目中来摆脱资产,但我认为资源不会以这种方式工作,因为您将无法访问 R 文件中的没有他们的图书馆。可能有一种解决方法,但不会很好。
-
但是,当您作为 jar 分发时,您可以使原始文件夹中的文件为您工作,因此如果需要,可以通过 android 库 jar 分发文件。
-
谢谢。我只需要两个外部罐子,但据我所知,无法创建使用外部罐子的罐子。