我们正在为Android开发标准化我们的基础架构,并且我们正在尝试将依赖关系管理整合到我们的Android库项目中。我当前的曲目是使用带有m2e-android的maven android插件。我们已使用Android SDK Deployer将Android工件上传到我们的Artifactory存储库。我们还有一个内部框架,其中包含一些我们可以导入到项目中的库,并且大部分都可以正常工作。
我们现在面临的问题是包含资源文件的apklib依赖项很难设置。 maven插件可以正确配置类路径,但如果apklib具有需要由父Android项目引用的资源文件,则Eclipse无法找到它们,除非您签出库项目并通过ADT将其链接到父项目。
在问题https://github.com/rgladwell/m2e-android/issues/8,https://stackoverflow.com/questions/6269816/creating-closed-source-android-libraries#answer-6270768和APKLIB does not get installed in Maven Repo上阅读m2e-android讨论后,我不相信maven是直到ADT正确支持封闭源apk库的方式。< / p>
我想知道你是如何在Android项目上处理这些依赖项的。除了使用Maven之外还有什么策略?
作为参考,这是我们到目前为止所尝试的内容。
答案 0 :(得分:8)
您可以深入了解Facebook Android开发人员如何解决此视频中的依赖项问题:How Facebook Built Facebook for Android。
他们使用巴克。 Buck is a build system for Android鼓励创建由代码和资源组成的小型可重用模块。 Buck is in github
对于您而言,这可能不是最佳解决方案,但可能对其他人而言。
答案 1 :(得分:4)
随着Android Studio和Gradle的出现,我们不再面临项目依赖性问题; Android或其他。
Gradle支持jar或apklib格式的Maven依赖项。流行的图书馆已经导出为apklib(aar)格式,并通过Maven提供。