我们正在为 Android 开发标准化我们的基础架构,并且我们正在尝试将依赖项管理合并到我们的 Android 库项目中。我目前的曲目是使用带有m2e-android的 maven android 插件。我们已使用Android SDK Deployer将 Android 工件上传到我们的 Artifactory 存储库。我们还有一个内部框架,其中包含一些我们可以导入到我们的项目中的库,并且在大多数情况下它工作正常。
我们现在面临的问题是包含资源文件的 apklib 依赖项很难设置。maven 插件可以正确配置类路径,但是如果 apklib 有需要被父 Android 项目引用的资源文件,Eclipse 无法找到它们,除非您检出 Library Project 并通过 ADT 将其链接到父项目。
在阅读 m2e-android 关于问题的讨论后https://github.com/rgladwell/m2e-android/issues/8 , https://stackoverflow.com/questions/6269816/creating-closed-source-android-libraries#answer- 6270768并且APKLIB 没有安装在 Maven Repo中,在 ADT 正确支持闭源 apk 库之前,我不相信 maven 是要走的路。
我想知道您如何处理对 Android 项目的这些依赖项。除了使用Maven还有什么策略?
作为参考,这是我们迄今为止所尝试的。
- 没有依赖管理。所有需要的 jars 都存储在 lib 文件夹中并推送到源代码控制 repo。库项目设置为子文件夹,并推送到它们所使用的每个项目的源代码控制存储库。Eclipse 项目设置也被推送。使用标准 ADT Ant 脚本构建的项目。
- 将 Jar 依赖项放入 libs 文件夹,并将库依赖项作为 git 子模块。使用标准 ADT Ant 脚本构建的项目。
- 使用 maven 进行依赖管理,包括使用 apklib 打包的库项目。apklibs 中的资源文件存在问题。