【问题标题】:Create library for Android development?为 Android 开发创建库?
【发布时间】:2011-04-12 03:36:45
【问题描述】:

我对 Android 开发还很陌生,但我对 Java 和 Eclipse 有一些经验。我正在寻找创建可重用库(控件、助手、“标准”活动等)的方法,这些库可以在我自己的项目中使用,但也可以在不披露源代码的情况下分发给其他开发人员。

通常,我会将类文件打包到 JAR 文件中,任何其他开发人员都可以将其添加到类路径并使用打包的类。

如何使用 Android 项目做到这一点?我已经阅读了有关 Android 库项目的信息,但正如文档所述,它们不能打包到 JAR 中,而是会与引用库项目的项目一起编译。这意味着我还必须分发源代码。

我还阅读了this post,它提出了同样的问题,但没有提供令人满意的答案。

那么:有没有一种方法可以编译和打包一组类和其他文件(包括 XML 布局、资源和内容)并仅分发该包而无需任何源代码,以便可以“引用”并像使用任何其他开发人员的 JAR 文件?

【问题讨论】:

    标签: android packages adt


    【解决方案1】:
    【解决方案2】:

    感谢您的解决方案。据我了解,您仍然无法从库代码中访问库私有的资源。因此,假设您的库在库中的 res/values 下有一个名为“my_lib_resource”的字符串资源。您将它与源代码一起捆绑在 jar 中。您可以使用以下方式从库源代码中访问此资源吗:

    int id = res.getIdentifier("com.example.mylib:string/my_lib_resource",null,null) 
    

    假设您的库包名称是 com.example.mylib。

    对我来说这是行不通的。

    【讨论】:

      【解决方案3】:

      我已阅读有关 Android 库项目的信息,但正如文档所述,它们不能 打包到 JAR 中,但将与引用该库的项目一起编译 项目。这意味着我还必须分发源代码。

      不正确。它确实需要一些额外的打包工作,但您可以将代码编译为 JAR 并将 JAR 分发到库项目的 libs/ 目录中。

      那么:有没有办法编译和打包一组类和其他文件(包括 XML 布局、资源和东西)并仅分发该包而没有任何源 代码以便它可以被任何其他开发人员“引用”并像 JAR 文件一样使用?

      使用 Android 库项目。我有some stuff written up here,它描述了更多的打包选项,以及指向一些遵循其中描述的约定的“包裹”的指针。

      【讨论】:

      • 谢谢,这似乎是我要找的。即使我只是快速阅读了它,我也会将您的答案标记为已接受的答案,因为它似乎实际上让我到达了某个地方:-)
      • @Thorsten Dittmar:请随时通过cw-android Google 群组向我发送您遇到的问题的反馈。这是对本材料的近期(且仓促)重写,以图书馆项目为基础,我确信我需要在此处添加更多信息。
      • @CommonsWare 您引用的链接似乎不再有效。我们还有其他地方可以找到这些信息吗?如果信息不是太多,在这里发布一些可能会有所帮助。
      • @MattWolfe:试试commonsware.com/AdvAndroid/AdvAndroid-1_9-CC.pdf的可重用组件一章
      猜你喜欢
      • 2013-11-14
      • 1970-01-01
      • 2019-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-04
      • 2010-10-15
      • 2015-12-29
      相关资源
      最近更新 更多