android - 生成pom.xml的maven插件

标签 android maven gradle android-studio

嗨,我有一个 gradle android 项目,其中包含两个库模块:

- MyProject
|-- LibA
|-- LibB

所以 LibB 依赖于 LibA。因此 LibB 的 build.gradle 文件如下所示:

apply plugin: 'android-library'
apply plugin: 'maven'

uploadArchives {
    repositories {
        mavenDeployer {
            repository(url: "file://$buildDir/repo")
            pom.groupId = 'com.test.lib'
            pom.version = '1.0'
        }
    }
}


dependencies {
    compile 'com.android.support:support-v4:19.+'
    compile project (':LibA')
}

如您所见,我想为我的 gradle 项目中的每个库模块生成 .aar 文件。到目前为止一切顺利,但是生成具有对 LibA 的正确依赖关系的 pom.xml 文件并不像预期的那样工作:

LibB 的 pom.xml 文件如下所示:

<dependency>
  <groupId>com.android.support</groupId>
  <artifactId>support-v4</artifactId>
  <version>19.+</version>
  <scope>compile</scope>
</dependency>

<dependency>
  <groupId>MyProject</groupId>
  <artifactId>LibA</artifactId>
  <version>unspecified</version>
  <scope>compile</scope>
</dependency>

有没有办法指定 LibA 的 Maven 依赖项在生成的 pom 文件中的样子。 ActionBar-PullToRefresh 等其他项目是如何做到这一点的?例如: ActionBar-PullToRefresh 有一个 Actionbar sherlock 的子库模块,它依赖于 :library the mail ActionBar-PullToRefresh library

有什么建议吗?

最佳答案

我不太喜欢 gradle,但我不会使用直接指向另一个项目的依赖项,而是使用定义组和 Artifact ID 以及 Artifact 版本的依赖项,就像您对 android 所做的那样支持库。

所以不是

 compile project (':LibA')

而是

 compile ('com.example.lib:LibA:1.2')

编辑:之前说过“编译项目('com.example.lib:LibA:1.2')”,这是错误的。感谢布伦德尔指出这一点。

关于android - 生成pom.xml的maven插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24071416/

相关文章:

android - 带页面指示器的无尽自动 ScrollView 寻呼机

java - 如何通过单击ImageView事件来更改Activity?

maven - Maven 的新手,我应该运行什么命令来构建 reddison

java - Gradle在相关测试项目中找不到包

android - 按下按钮时`java.lang.UnsatisfiedLinkError: Native method not found: `

java - FragmentManager 支持库的不兼容类型

android - Maven编译错误: package R does not exist

java - Maven 添加特定 java 包的依赖

android-studio - Android Studio 运行时错误 stub !在 com.amazon.device.messaging.ADMMessageReceiver.<init>()

android - 升级到 Gradle 5 和 Android Plugin 3.3 后,我的构建失败并显示 "Metaspace"