gpt4 book ai didi

java - 可以在导出的 jar/apk 中智能排除 jar 吗?

转载 作者:行者123 更新时间:2023-12-01 13:49:38 25 4
gpt4 key购买 nike

与 android 相关的快速问题,但可能涉及一般的 java 编程(如果可以在 eclipse/java 平台上实现,那就太好了)。

假设我有一个外部库,我将其添加到我的应用程序中。 (Android Library 添加到 Android 应用程序项目中,从 android 角度来看)。现在,如果我从主应用程序项目中的库项目中提交使用任何类或任何类,输出的 jar/apk 文件是否仍然包含库 jar 文件?

跟进上述问题(更简单的情况)。假设我有像上面这样的库项目(我们称之为 MainLibrary),我在我的主项目中在某种程度上使用了它。现在这个库引用了它内部使用的其他库项目/jar(比如说 LinkedinLibrary)。因此 MainLibrary 中的调用在某种程度上使用 LinkedinLibrary。

现在,就像我指出的那样,我的主应用程序确实使用 MainLibrary,但根本不使用 MainLibrary 中的任何内容,而 MainLibrary 内部使用 LinkedinLibrary。

对于我的应用程序,MainLibrary jar 明显出现在输出中。 LinkedinLibrary jar 怎么样?

最佳答案

Now if I ommit from using any class, or whatever it is, at all from that library project inside my main application project, will the output jar/apk file contain the library jar file nevertheless, or won't?

如果您将 JAR 放入 libs 文件夹中,它就会这样做。

Follow up question to that above (simpler case). Lets say I have library project like above (lets call it MainLibrary), which I DO use in some extend in my main project. Now this library, has other library project/jar referenced (lets say LinkedinLibrary) which it uses internaly.

这取决于您的项目结构。例如:如果您只是将 MainLibrary 的 JAR 放入 libs 文件夹中,则链接的项目将会丢失。但是,如果您的 Eclipse 工作区中有所有项目,并通过属性对话框添加了项目,并将其配置为导出链接库,那么它将起作用。

这就是基本 Eclipse 构建系统所提供的全部内容。如果你正在摆弄 Gradle 依赖项,那么它可以开箱即用 - 如果你让 Android Studio 的这个有缺陷的部分工作。如果您使用 Maven,它也可以开箱即用,目前 Android Studio 中的 Maven 似乎比 Gradle 稳定得多。

一般来说,这取决于您的构建系统。

  • Maven 开箱即用。
  • Gradle 也是如此。
  • 如果您使用 ant,则需要自己编写或使用一些自定义任务,例如 Ivy或 Maven 依赖插件。

编辑:/您还问是否可以。我不知道没有依赖管理系统可以通过源代码检查来工作。因此,如果您不需要现有的依赖项,则必须自行删除它。

关于java - 可以在导出的 jar/apk 中智能排除 jar 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20068810/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com