【问题标题】:Android library project using other 3rd party libraries使用其他 3rd 方库的 Android 库项目
【发布时间】:2012-02-12 22:04:51
【问题描述】:

我有一个库 android 项目“Library”(包含活动和所有内容)和一个使用源代码中的“Library”的普通 android 项目“App”。库不是单独编译的。

一切正常。问题是使用第 3 方编译的罐子“外部罐子”。 我的“图书馆”正在使用所有的“外部罐子”。 “App”只能访问“Library”。 “外部罐子”只能由“库”访问。

问题是“应用程序”需要在其构建路径中包含所有“外部罐子”,应用程序才能正常运行。那是什么必需品? “应用程序”不直接调用任何“外部罐子”。

所以我已将罐子包含在“应用程序”和“库”中。有什么方法可以让“App”的构建路径中不必包含“Jars”?

我问这个是因为我担心额外的应用程序大小,因为我无法让 proguard 以这种方式工作。

【问题讨论】:

    标签: android proguard android-library


    【解决方案1】:

    您所依赖的外部库项目应将其库包含在其 libs 目录中。 android 构建过程将负责从库中引入这些作为构建 apk 的一部分。这有时会导致 Eclipse 出现问题,因此,即使您必须让 Eclipse 将这些 jar 添加到“引用的库”或项目构建路径中,当您生成 apk 时,如果该库是一个 android 库并且它的依赖项位于库中,您应该不需要做任何特别的事情。

    【讨论】:

    • 好的,是eclipse的问题吗?因为我看不到蚂蚁会发生这种情况。
    • 嗯,它有点复杂 :) 当你用 ant 构建时,有一个库构建步骤将库转换为 jar。在 Eclipse 中,通过将源链接到项目来访问库项目。 ant 构建需要将库的依赖项编译到 jar 中的额外步骤,而 eclipse 没有。这意味着在 Eclipse 中,您必须手动将库依赖项添加到父级,以便它在工作台中编译。我不确定为什么存在这种限制,但这似乎只是 eclipse 的工具问题。
    猜你喜欢
    • 1970-01-01
    • 2013-05-02
    • 2017-02-24
    • 1970-01-01
    • 2012-05-15
    • 1970-01-01
    • 2016-01-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多