AndroidStudio 使用本地Maven仓库

本文介绍了如何在Android Studio中使用本地Maven仓库来管理aar库。通过设置flatDir仓库和编写pom文件,确保Gradle能够正确找到和引用aar库。详细步骤包括指定maven仓库路径、定义groupId、artifactId、version和packaging,并注意路径查找的特殊规则。同时提到了生成pom文件的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. Android项目直接使用本地aar。
    1. 开发过程中有直接使用本地aar的调试需求,Android Gradle插件目前不支持直接以compile file的形式将aar引入(目前似乎只支持Jar)。查询到的有两种方式:
      1. 在repositories中增加flatDir设定为aar的所在目录,然后通过在dependencies中增加compile(name: ‘aar库的名称’, ext: ‘aar’)来引入。该方法从一些反馈上看是OK的,不过我自己使用的时候发现似乎无效。
      2. local maven方案。本地搭建一个maven仓库。然后项目通过正常的compile的形式引用。该方法测试OK,下面记录一些坑点。
  2. local maven方案的一些注意事项:(一篇不错的关于Android Studio使用maven库的文章: http://blog.bugtags.com/2016/01/27/embrace-android-studio-maven-deploy/)
    1. 只有aar文件在local maven文件夹是不够,按照maven的规范,你至少还需要一个pom(Project Object Model)文件来对库文件进行描述。
    2. pom中的几个关键参数: groupId/artifactId/version/packaging, 这些参数使得查找者可以最终定位库文件的位置,从而取得库文件。
    3. 举个例子:
      • local maven文件夹是 /usr/local/maven。在gradle中,你需要添加一个 maven {url ‘file:////usr/local/maven/’}到repositories中。
      • groupId 是 “tool”
      • artifactId 是 “checker”
      • version 是 “0.0.1-SNAPSHOT”
      • packaging 是 “aar”
      • 那么最终应该有一个名称为 “check-0.0.1-SNAPSHOT.aar”的文件位于 /usr/local/maven/tool/checker/0.0.1-SNAPSHOT目录下,才能使得使用者可以按照 compile (‘tool:checker:0.0.1-SNAPSHOT@aar’)获取到库文件。
      • 可以看出除了packaging,其他所有的属性都参与了路径寻找的过程
      • pom文件也要放在该目录下,并且名称要和库的名称保持一致(除了后缀是.pom), 这里就是check-0.0.1-SNAPSHOT.pom
    4. 路径查找的一个:
      • 如果上面的groupId 是 “com.me.tool”, 那么这个字段对应到路径上会被拆分为三级: com/me/tool.
      • 即上面的例子在这种情况下,库文件所在的目录变成了/usr/local/maven/com/me/tool/checker/0.0.1-SNAPSHOT
  3. 最后附上一个maven相对系统的入门教学: http://www.jianshu.com/p/78c16fc600a9
  4. gradle中生成pom: http://stackoverflow.com/questions/17281927/how-to-make-gradle-generate-a-valid-pom-xml-file-at-the-root-of-a-project-for-ma
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值