从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()
}