我正在使用 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命令,也會出現相同的錯誤。
有沒有辦法避免使用這些存盤庫?
uj5u.com熱心網友回復:
我替換了flutter.gradle ($FLUTTER_ROOT/packages/flutter_tools/gradle/flutter.gradle)檔案中的存盤庫,現在 flutter 正在尋找自定義存盤庫中的包。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/364746.html
標籤:扑 等级 android-gradle-插件 构建.gradle
