【问题标题】:Create Android Library project jar创建 Android 库项目 jar
【发布时间】: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 分发文件。
  • 谢谢。我只需要两个外部罐子,但据我所知,无法创建使用外部罐子的罐子。

标签: android jar


【解决方案1】:

创建一个常规 Java 库并执行以下步骤:

  • 在您的项目中添加“android.jar”作为库
    如何找到它?
    android.jar 位于 Android SDK

    /platforms/android-XX/android.jar (XX = API 编号)
    这很简单,并且不需要在您的 JAR 文件中包含“android.jar”,因为“android.jar”已经默认包含在 Eclipse ADT / Android Studio 中。
    注意:

对于 Android Studio,以这种方式唯一添加库:
将此添加到您的 build.gradle

dependencies {
    compile files('libs/your-jar-library.jar')
}

要包含这两个外部 jar,您需要执行以下步骤:

  • 解压两个 JARS
  • 解压缩您的 JAR 文件
  • 将解压后的库文件复制到解压后的 JAR(仅限包文件夹)
  • 使用包含的外部库压缩您的 JAR 文件,您无需将 JAR 放入 JAR。

【讨论】:

    猜你喜欢
    • 2013-07-08
    • 2013-06-08
    • 2013-07-30
    • 1970-01-01
    • 2014-01-03
    • 1970-01-01
    • 2015-11-29
    • 2012-07-02
    • 1970-01-01
    相关资源
    最近更新 更多