好的,这个线程将更像是对标题中提到的主题的讨论。我一遍又一遍地搜索整个主题,但没有找到适合我的好的/可接受的解决方案。
设想
假设我有一个 android 项目,我需要一个第三方库(例如drag-sort-listview library)。
如何整合它?
没有 Git
- 将项目导入 Eclipse(来自现有的 Android 源)
- 转到您的项目属性 -> Android -> 添加库(从您的工作区)
使用 Git
为第三方库制作一个 Git 子模块。在项目的文件夹中执行此操作(例如 myproject/thirdpartylibs/newLibrary)
与上述步骤相同,但作为“现有源”选择您刚刚克隆到项目中的那个
讨论
对我来说:这根本不令人满意!
为什么?
首先:我不想在我的工作区中有一个库项目——我只是不关心它。我只是想使用它。我想要一个可以放入我的“libs”文件夹中的 JAR(如此处所述)。可悲的是,您无法从库项目(source)中创建罐子(或者是否有隐藏的方式?)。
其次:拉我项目的每个人都要手动生成第三方库的项目,然后添加到项目中。因此,如果有人只是拉动我的项目,除非他这样做,否则它将无法正常工作。如果你问我,那就太糟糕了..(或者我在这里遗漏了什么?)
第三:Git 子模块在大多数情况下看起来有点矫枉过正。将 JAR 放在 libs 文件夹中并完成它会容易得多。当然,这样做的工作量并不大,但它只是为您的项目增加了另一层“复杂性”。
问题
我是唯一一个因此而生气的人吗?
大男孩是如何做到的(如 CyanogenMod 等)?
为什么仍然有 JAR 库(例如ORMLite)?这仅仅是因为他们不需要android特定的资源和东西吗?或者有谁知道为什么他们可以用他们的库构建一个 JAR 而“所有”其他人不能?