【问题标题】:How to use pom file in Android Gradle build?如何在 Android Gradle 构建中使用 pom 文件?
【发布时间】:2018-07-16 19:33:29
【问题描述】:

我使用的是 Android Gradle 命令行,而不是 Android Studio,构建 我希望能够在库中构建/编译 来自 mavenCentral()。

我想知道如何为任何将军做到这一点 库,但我想要的一件事是获得某个版本 'com.google.android.gms:play-services-maps' 用于我的构建。

发件人:https://mvnrepository.com/artifact/com.google.android.gms/play-services-maps

对于大多数版本,我可以获取 pom 和 aar 文件 那么如果我可以访问这些文件,我必须在 build.gradle 中做什么, 让它在项目中构建?

我看到的大部分文章都是关于如何生成pom文件的, 但不是关于如何在您的项目中使用它。

我真的很想知道如何在我的构建中使用 pom 文件 或如何使用其中的信息,但如果我能获得有关如何使用 aar 文件构建的信息,那也很酷。

或者如何使用它在“Gradle”选项卡中提供的信息:

// https://mvnrepository.com/artifact/com.google.android.gms/play-services-maps
compile group: 'com.google.android.gms', name: 'play-services-maps', version: '12.0.0'

这是我目前拥有的,很多东西都省略了,不起作用:

> Could not resolve all dependencies for configuration ':_debugApkCopy'.
    > Could not find com.google.android.gms:play-services-maps:12.0.0.
        Searched in the following locations:


buildscript {
    repositories {
        mavenCentral()
    }
}

dependencies {
    //compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.android.gms:play-services-maps:12.0.0'
}

我也尝试过使用“Gradle”标签中的信息:

repositories {
    maven {
        url "https://mvnrepository.com/artifact/com.google.android.gms/play-services-maps"
    }
}

dependencies {
    compile group: 'com.google.android.gms', name: 'play-services-maps', version: '12.0.0'
}

谢谢!

【问题讨论】:

  • 你可以在AS中简单的下载和导入aar文件。无需担心 pom。更多详情请参考链接12
  • @user1572522,如果我的回答对你有用,请告诉我们。
  • 我没有使用 Android Studio。

标签: android gradle build.gradle


【解决方案1】:

在您的 gradle 文件中,您需要在存储库中添加 google()-

 buildscript {
        repositories {
            mavenCentral()
            google()
        }
    }

我是怎么理解的:在 maven 链接中有 -

注意:此工件位于 Google 存储库 (https://maven.google.com/)

但我只看到mavenCentral() 如果您在存储库中添加google(),以下应该可以工作-

compile 'com.google.android.gms:play-services-maps:12.0.0'

【讨论】:

  • 将 'google()' 添加到存储库不起作用,它收到相同的错误消息,并且它说它搜索的所有地方都在我的机器上本地,看起来它从未尝试过出去拿。
  • 您是否使用单独的 gradle,即不使用与 Android Studio 捆绑的 gradle?
  • @user1572522,通过取消选中文件>设置>Gradle>离线工作中的按钮,确保 Gradle 未设置为离线。
  • 是的,我正在使用不属于 Android Studio 的 Gradle。 '--offline' 通常是命令行选项,我没有使用它。当我对项目执行“gradle clean”时,会发生构建错误。
  • 你能从你的项目和 .gradle 目录中发布你的 gradle.properties 文件吗?
【解决方案2】:

我想我终于找到了问题。

我读过一篇他们说主要的帖子

buildscript {

}

block主要用于Android插件 并且您需要创建另一个存储库块 参考您需要的库的下载。

所以我的最终 build.gradle 现在看起来像这样:

buildscript {
    repositories {
    }
}

apply plugin: 'android'

repositories {
    maven {
        url "https://maven.google.com"
    }
    google()
}

dependencies {
    compile group: 'com.google.android.gms', name: 'play-services-maps', version: '12.0.0'
}

当我看到它构建时,我可以看到它正在下载 从存储库中,它构建干净!

我不确定哪个存储库引用“有效” 但是那里的东西似乎有效。

谢谢!

【讨论】:

    猜你喜欢
    • 2014-12-09
    • 1970-01-01
    • 2013-06-16
    • 2019-02-18
    • 2014-09-06
    • 1970-01-01
    • 2019-11-28
    • 1970-01-01
    • 2018-12-07
    相关资源
    最近更新 更多