【问题标题】:Can I use project libraries in the library project?我可以在库项目中使用项目库吗?
【发布时间】:2013-08-07 02:57:00
【问题描述】:

我有一个主项目,它有一些 libs(如 library-x、library-y、library-z)和一个 library 项目。在库项目中,我使用相同版本的主项目(例如 library-x 和 library-y)导入相同的库。

当我编译项目时,它会在我的应用程序中复制我的库吗?或者adt 如果是同一个项目,将只使用一个库?

有没有办法在库项目中使用项目的库?

谢谢。

【问题讨论】:

    标签: android android-library library-project


    【解决方案1】:

    如果我正确理解了您的问题,您可以将您的依赖项包含在库项目中,然后让库项目导出其依赖项。主项目则只包含库项目,但也可以访问其依赖项。

    但是,这可能会根据您的开发环境而改变。例如,使用 Gradle,您可以安全地从 Maven 添加多个库,它会自动删除重复项。

    【讨论】:

    • 那么如果我在库项目中包含一个库,主项目可以访问它吗?如果我使用 Gradle 并在两个项目中保留相同的库,它会自动删除吗?
    • 使用Eclipse,您可以在“Order and Export”下的“Java Build Path”设置中选择是否要导出依赖项(使它们可用于其他项目)。我知道这行得通,因为我在自己的项目中这样做。使用 Gradle,您需要区分某个文件夹中的 Maven 库和普通 jar 文件。前者永远不会是多余的;但是,我还没有时间为后者创建一个工作设置。你的构建设置是什么?
    • 我将这个大型主项目用作其他项目变体的“基础”。这个项目有私有库和库项目。现在我添加另一个库项目来实现 Google Cloud Messaging 的通知。当我单击通知时会启动一项活动。例如,此活动使用在主项目中导入的 asynchttp 库。我可以在 library-project 中将这个 lib 导入另一个 timeb,但我会避免.. 如果没有更好的方法,我会这样做。
    • 在这种情况下,您可以从主项目中删除 asynchttp 库的导入,然后将其从 GCM 库项目中导出。我很确定如果您不导出它并再次将其包含在主项目中,它也会起作用。但是,我不知道第二种方法的apk文件大小是否会更大。
    • 好的,如果我没有找到更好的方法,我会这样做。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-16
    • 2017-01-10
    • 1970-01-01
    • 2015-09-22
    • 2011-02-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多