Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Cordova向build.gradle添加自定义maven存储库_Cordova_Ionic Framework_Gradle_Build.gradle - Fatal编程技术网

从Cordova向build.gradle添加自定义maven存储库

从Cordova向build.gradle添加自定义maven存储库,cordova,ionic-framework,gradle,build.gradle,Cordova,Ionic Framework,Gradle,Build.gradle,我正在尝试以编程方式向我的build.gradle文件添加存储库 根据,可以通过build.gradle目录下的build extras.gradle文件扩展build.gradle 问题在于,由于梯度同步仍然失败,回购协议没有被添加/链接 这是我的build-extras.gradle文件: buildscript { repositories { google() } } 我需要将google()repo添加到我的build.gradle中,例如: buildscr

我正在尝试以编程方式向我的
build.gradle
文件添加存储库

根据,可以通过
build.gradle
目录下的
build extras.gradle
文件扩展
build.gradle

问题在于,由于梯度同步仍然失败,回购协议没有被添加/链接

这是我的build-extras.gradle文件:

buildscript {
  repositories {
      google()
    }
}
我需要将
google()
repo添加到我的
build.gradle
中,例如:

buildscript {
    repositories {

        //google() <-- here
        jcenter()
        maven {
            url "https://maven.google.com"
        }
    }

    // Switch the Android Gradle plugin version requirement depending on the
    // installed version of Gradle. This dependency is documented at
    // http://tools.android.com/tech-docs/new-build-system/version-compatibility
    // and https://issues.apache.org/jira/browse/CB-8143
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0'
    }
}
buildscript{
存储库{

//google()我不确定你的意思:“问题是回购协议没有被添加/链接,因为梯度同步仍然失败。”

除此之外,需要注意的是,
buildscript{…}
应用于封闭的构建脚本(文件)仅。换句话说,您添加到
build extras.gradle
buildscript
仅适用于此文件;同样,Cordova添加到
build.gradle
buildscript
块仅适用于该文件。这就引出了一个问题,为什么您要在
build中更改构建脚本的类路径。gradle
即使您无法更改该文件中的任何内容

例如,您是否真的希望为构建脚本中不需要的依赖项添加存储库,而是为编译某些Java代码添加存储库?在这种情况下,您必须这样声明存储库(即,不在
buildscript
块中):


我的问题是,我的应用程序的本机源已经在gradle 4.+环境版本中获得,但这些本机源将在非4.+环境中编译和发布。为此,我必须添加“google()'在buildscripts->repositories块内部的build.gradle中进行repo。这是正确的吗?对不起,我不明白你的意思。你能解释一下为什么你认为你需要
google()
repository?我正在使用gradle wrapper version>4.x进行开发。我客户的gradle wrapper版本为2.x。该项目使用谷歌地图库,因此,当我的客户尝试在android studio上同步项目时,该项目未完成,错误为“play services base license”。我的客户向我报告,如果添加“g”oogle()'repo与build.gradle正确同步。我认为在gradle 4.x包装中,play服务和其他服务的依赖项会自动解析,但在较旧版本的gradle中不会。google()的
repo仅在gradle 4.0()中引入,我想知道为什么Gradle 2.x对您的客户有效?无论如何,我不知道为什么play services基本许可证模块需要位于构建脚本的类路径上,所以我想知道我的回答中的建议是否有效?也许您必须提供构建配置的更多详细信息;以及可用的信息ion很难提出更好的建议。你的建议对我不起作用。经过更多的测试,如果我在所有项目{repositories{google()……上添加repo,它只对我的客户起作用。你找到答案了吗?
repositories {
    google()
}