我在Android Studio中遇到了一个gradle构建错误,如下所示:
Error:A problem occurred configuring project ':MyApp'.
Could not resolve all dependencies for configuration ':MyApp:classpath'.
Could not resolve io.fabric.tools:gradle:1.+.
Required by:
sw-android:MyApp:unspecified
Failed to list versions for io.fabric.tools:gradle.
Unable to load Maven meta-data from
https://repo1.maven.org/maven2/io/fabric/tools/gradle/maven-metadata.xml.
Could not GET 'https://repo1.maven.org/maven2/io/fabric/tools/gradle/maven-metadata.xml'.
peer not authenticated
Failed to list versions for io.fabric.tools:gradle.
Unable to load Maven meta-data from
http://maven.fabric.io/public/io/fabric/tools/gradle/maven-metadata.xml.
Could not GET http://maven.fabric.io/public/io/fabric/tools/gradle/maven-metadata.xml'.
peer not authenticated
我发现“https”标签无法下载Maven URL,因此我在build.gradle文件中将https更改为http。此外,我检查了所有gradle设置并手动修改路径C:\ Users \ Ashfaque1.AndroidStudio \ config \ options \中的other.xml文件,但仍然是https://repo1.maven.org/maven2/io/fabric/tools/gradle/maven-metadata.xml。此外,一旦我点击浏览器的这个链接,我得到404异常,但错误http://maven.fabric.io/public/io/fabric/tools/gradle/maven-metadata.xml中的第二个URL,我能够成功点击并在我的系统中正确下载元数据文件。 无法理解问题所在,我需要更改设置以便下载元数据文件。 请建议我是否需要更改任何设置或更改此网址的位置https://repo1.maven.org/maven2//io/fabric/tools/gradle/maven-metadata.xml
我的build.gradle文件如下:
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
buildscript {
repositories {
mavenCentral()
maven { url 'http://maven.fabric.io/public' }
}
dependencies {
classpath 'com.android.tools.build:gradle:1.1.0'
classpath 'io.fabric.tools:gradle:1.+'
}
}
repositories {
mavenCentral()
maven { url 'http://maven.fabric.io/public' }
}
dependencies {
compile 'com.android.support:multidex:1.0.0'
compile fileTree(dir: 'libs',include: '*.jar')
compile project(':DeviceService')
compile project(':RatioCommon')
compile project(':SlidingMenu:library')
compile project(':SmartViewLibrary:SmartView')
compile project(':SmartViewLibrary:OpenAccess')
compile('com.crashlytics.sdk.android:crashlytics:2.2.0@aar') {
transitive = true;
}
}
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
minSdkVersion 18
targetSdkVersion 21
// Enabling multidex support.
multiDexEnabled true
}
dexOptions {
javaMaxHeapSize "4g"
}
}
答案 0 :(得分:5)
如果您在查看Stack中的所有主题后仍然无法构建gradle,就像我过去两天所做的那样,如果您曾经使用过" Proxy"之前,您的gradle包中有两个名为gradle.properties的文件。
如果您之前使用了代理,那么android studio可能会将这些信息添加到其中一个gradle.properties文件中,所以请看看它们两者,如果您看到以下内容:
systemProp.https.proxyHost=your_proxy_host
systemProp.https.proxyPort=your_proxy_port
systemProp.https.proxyUser=your_proxy_username
systemProp.https.proxyPassword=your_proxy_password
或
systemProp.http.proxyHost=your_proxy_host
systemProp.http.proxyPort=your_proxy_port
systemProp.http.proxyUser=your_proxy_username
systemProp.http.proxyPassword=your_proxy_password
只需删除它们,然后将无效缓存重新启动并重启你的android工作室并运行项目我确定你会没事的。
答案 1 :(得分:2)
1)您应该使用类似
之类的东西与远程回购同步 mvn install - U
或在Android Studio
或IntelliJ Idea
转到Settings
找到Maven
群组,找到子群组Repositories
,然后点击面料仓库上的Update
。
2)如果它没有帮助,您应该切换到jcenter()
而不是mavenCentral()
,因为将{!1}}和jcentral()
更新推送的fabric.io开发人员可能已过时。更多关于两者之间的差异:Android buildscript repositories: jcenter VS mavencentral
答案 2 :(得分:1)
对于仍然面临此问题的任何人,这是您需要做的:
如果问题仍然存在:
在系统中的某个位置存在一个全局.gradle / gradle.properties文件(在我的情况下,该文件位于我的Users主目录中)。此文件存储了您的代理设置。评论这些行。
这应该使您的项目启动并运行。
干杯!
答案 3 :(得分:0)
打开
离线工作
在设置中->构建,执行...-> Gradle
答案 4 :(得分:0)
对我来说,这是因为我为发布版本增加了堆大小。
我刚刚在gradle.properties文件中注释了以下行:
source=HEROKU_POSTGRESQL_TEAL
sample#current_transaction=1259
sample#db_size=4972684143bytes
sample#tables=63
sample#active-connections=15
sample#waiting-connections=0
sample#index-cache-hit-rate=0.99733
sample#table-cache-hit-rate=0.96832
sample#load-avg-1m=0.485
sample#load-avg-5m=0.575
sample#load-avg-15m=0.36
sample#read-iops=180.8
sample#write-iops=58.754
sample#tmp-disk-used=33849344
sample#tmp-disk-available=72944943104
sample#memory-total= 8173716kB
sample#memory-free= 829388kB
sample#memory-cached= 5650620kB
sample#memory-postgres=1383572kB
sample#wal-percentage-used=0.08164372911331697
使用org.gradle.jvmargs=-Xms1024m -Xmx4096m
,现在可以正常使用了。
答案 5 :(得分:-1)
当您在代理
后面时,可能会发生这种情况