gpt4 book ai didi

Android 库项目 - 讨论/最佳方式

转载 作者:行者123 更新时间:2023-11-29 18:01:00 26 4
gpt4 key购买 nike

好的,这个线程将更像是对标题中提到的主题的讨论。我一遍又一遍地搜索整个主题,但没有找到适合我的好/可接受的解决方案。

场景

假设我有一个 android 项目,我需要一个第三方库(例如 drag-sort-listview library )。

如何整合?

没有 Git

根据official documentationthis线程我们应该这样做(简化!):

  1. 将项目导入 eclipse(从现有的 Android 源代码)
  2. 转到您的项目属性 -> Android -> 添加库(从您的工作区)

使用 Git

  1. 为第三方库制作一个 Git 子模块。在项目的文件夹中执行此操作(例如 myproject/thirdpartylibs/newLibrary)

  2. 与上述步骤相同,但作为“现有源”选择您刚刚克隆到项目中的源

讨论

对我来说:这一点都不令人满意!

为什么?

首先:我不想在我的工作区中使用库项目——我只是不关心它。我只是想使用它。我想要一个 JAR,我可以把它放在我的“libs”文件夹中(如 here 所述)。遗憾的是,您不能从库项目 ( source ) 中创建 Jars(或者有隐藏的方法吗?)。

其次:大家拉我的工程,都要自己手动生成第三方库的工程,然后添加到工程中。因此,如果有人只是拉我的项目,那么在他这样做之前它不会起作用。如果你问我的话,那真是太糟糕了..(或者我在这里遗漏了什么?)

第三:Git 子模块在大多数情况下看起来有点矫枉过正。将 JAR 放在 libs 文件夹中并完成它会容易得多。当然这样做并没有太多工作,但它只是为您的项目增加了另一层“复杂性”。

问题

只有我一个人为此气得要死?

大佬们是怎么做到的(比如 CyanogenMod 等)?

为什么那里还有 JAR 库(例如 ORMLite)?这仅仅是因为他们不需要 android 特定的资源和东西吗?或者有人知道为什么他们可以用他们的库构建一个 JAR 而“所有”其他人不能吗?

最佳答案

I am the only one who is annoyed like hell because of this?

没有。

How are the big boys doing this (like CyanogenMod, etc.)?

CyanogenMod 是 AOSP Android 的一个完整分支,并且在比 SDK 库更低的级别上工作。将它们与 Android 库项目进行比较并不是一个好主意。

Why are there still JAR libraries out there (for example ORMLite) ?

可以为任何不使用任何 R.*.* 资源的项目创建 JAR。您也可以从其他项目创建 JAR,但它们会因 ResourceNotFoundException 而终止。为了解决这个问题,您可以让用户将所有需要的 XML 资源添加到他们的项目中(就像 ACRA 所做的那样,如果您选择使用他们库的警报部分,则要求您添加 XML 字符串)。

Or does anyone know WHY they can build a JAR with their libraries and "all" other can't?

因为他们不使用 R 部分的 XML 资源。 XML 资源 bundle 到 JAR 中,因为 JAR 仅用于代码。 Android 将所有 XML 资源编译成一个二进制文件,该文件单独包含在您的 apk 中。

关于Android 库项目 - 讨论/最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16099170/

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