5

我一直在为 android 库项目旋转一个 jar,并将这个 jar 包含在我的其他应用程序中。但是在 developer.android.com 上,我看到了不能在 jar 中分发库的声明:

  • 您不能将库项目导出到 JAR 文件

库不能作为二进制文件(例如 JAR 文件)分发。这将在 SDK 工具的未来版本中添加。

我真的不明白这是什么意思。

4

2 回答 2

5

可以创建不包含源代码的 Android 库项目。限制是:

  • 您仍然必须运送资源。

  • 您必须重写代码以避免使用 R. 值,因为它们是错误的。您必须使用 getResources().getIdentifier() 和/或反射来查找所有资源 ID。

我在The Busy Coder's Guide to Advanced Android Development ( http://commonsware.com/AdvAndroid ) 中有说明,尽管这些说明足够新,以至于我的免费版本都没有。引用当前版本的一些说明:

“您可以通过以下步骤创建仅二进制库项目:

  1. 使用您的源代码等创建一个 Android 库项目 - 这是您的主项目,您将从该项目中创建库项目的一个版本以进行分发。

  2. 编译 Java 源代码(例如,ant compile)并将其转换为 JAR 文件

  3. 创建一个分发Android库项目,资源与主库项目相同,但没有源代码
  4. 将 JAR 文件放在分发 Android 库项目的 libs/ 目录中

生成的分发 Android 库项目将拥有主项目所需的一切,只是没有源代码。”

就个人而言,我只是稍等片刻。我希望能够尽快提供对 library-projects-as-JARs 的官方支持。

于 2013-03-06T18:43:56.697 回答
2

这意味着(目前)您必须分发整个项目文件夹。而不仅仅是一个 jar 文件,就像你可以用于 java 库一样。

当有人想使用您的库时,他们会将您的项目导入 Eclipse,然后在项目属性-> android 中,他们会将您的项目添加为 android 库。

用于分发库项目的一些常用方法是使用 git,或压缩项目文件夹并使其在线可用。

于 2013-03-06T18:40:46.730 回答