【发布时间】:2021-12-26 23:54:37
【问题描述】:
我正在使用 gradle 5.6.2。实际上,这是一个颤振项目,我使用以下方法构建它:
flutter build apk
我的项目有 2 个 build.gradle 文件:
android/
---- build.gragle
---- app/
---- build.gradle
我从父 build.gradle 中删除了 google() 和 jcenter() 存储库,并配置了一个 nexus 存储库。我的 build.gradle 看起来像这样:
buildscript {
ext.kotlin_version = '1.3.50'
repositories {
if (!hasProperty('NEXUS_CREDENTIALS_USR')) {
ext.NEXUS_CREDENTIALS_USR = ''
}
if (!hasProperty('NEXUS_CREDENTIALS_PSW')) {
ext.NEXUS_CREDENTIALS_PSW = ''
}
maven {
credentials {
username = "${NEXUS_CREDENTIALS_USR}"
password = "${NEXUS_CREDENTIALS_PSW}"
}
url "https://somenexusrepo.com/repository/maven-google-android"
}
maven {
credentials {
username = "${NEXUS_CREDENTIALS_USR}"
password = "${NEXUS_CREDENTIALS_PSW}"
}
url "https://somenexusrepo.com/repository/maven-public"
}
maven {
credentials {
username = "${NEXUS_CREDENTIALS_USR}"
password = "${NEXUS_CREDENTIALS_PSW}"
}
url "https://somenexusrepo.com/repository/maven-snapshots"
}
maven {
credentials {
username = "${NEXUS_CREDENTIALS_USR}"
password = "${NEXUS_CREDENTIALS_PSW}"
}
url "https://somenexusrepo.com/repository/maven-group"
}
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
rootProject.buildDir = '../build'
allprojects {
repositories {
if (!hasProperty('NEXUS_CREDENTIALS_USR')) {
ext.NEXUS_CREDENTIALS_USR = ''
}
if (!hasProperty('NEXUS_CREDENTIALS_PSW')) {
ext.NEXUS_CREDENTIALS_PSW = ''
}
maven {
credentials {
username = "${NEXUS_CREDENTIALS_USR}"
password = "${NEXUS_CREDENTIALS_PSW}"
}
url "https://somenexusrepo.com/repository/maven-google-android"
}
maven {
credentials {
username = "${NEXUS_CREDENTIALS_USR}"
password = "${NEXUS_CREDENTIALS_PSW}"
}
url "https://somenexusrepo.com/repository/maven-public"
}
maven {
credentials {
username = "${NEXUS_CREDENTIALS_USR}"
password = "${NEXUS_CREDENTIALS_PSW}"
}
url "https://somenexusrepo.com/repository/maven-snapshots"
}
maven {
credentials {
username = "${NEXUS_CREDENTIALS_USR}"
password = "${NEXUS_CREDENTIALS_PSW}"
}
url "https://somenexusrepo.com/repository/maven-group"
}
}
}
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
project.evaluationDependsOn(':app')
}
task clean(type: Delete) {
delete rootProject.buildDir
}
但是当我尝试构建项目时,它仍然会尝试从其他存储库中获取一些依赖项。我正在尝试从专用网络构建它,但我无法访问 dl.google.com 或 repo.maven.apache.org 存储库,这就是我收到此错误的原因:
A problem occurred evaluating project ':app'.
[ ] > Could not resolve all artifacts for configuration 'classpath'.
[ ] > Could not resolve com.android.tools.build:gradle:4.1.0.
[ ] Required by:
[ ] unspecified:unspecified:unspecified
[ ] > Could not resolve com.android.tools.build:gradle:4.1.0.
[ ] > Could not get resource 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/4.1.0/gradle-4.1.0.pom'.
[ ] > Could not GET 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/4.1.0/gradle-4.1.0.pom'.
[ ] > Connect to dl.google.com:443 [dl.google.com, dl.google.com] failed: No route to host (connect failed)
[ ] > Could not resolve com.android.tools.build:gradle:4.1.0.
[ ] > Could not get resource 'https://repo.maven.apache.org/maven2/com/android/tools/build/gradle/4.1.0/gradle-4.1.0.pom'.
[ ] > Could not GET 'https://repo.maven.apache.org/maven2/com/android/tools/build/gradle/4.1.0/gradle-4.1.0.pom'.
[ ] > Connect to repo.maven.apache.org:443 [repo.maven.apache.org, repo.maven.apache.org] failed: connect timed out
即使我尝试执行gradle build 命令,我也会收到同样的错误。
有没有办法避免使用这些存储库?
【问题讨论】:
-
尝试
flutter build clean然后flutter build apk
标签: flutter gradle android-gradle-plugin build.gradle