2016-03-29 201 views
0

更新后的科尔多瓦新版本6.1.0和android平台在科尔多瓦5.1.1,当运行科罗达生成android。科尔多瓦6.1.0与Gradle错误

出了什么问题:

的问题发生在配置根项目 '机器人'。

无法解析配置':classpath'的所有依赖关系。

找不到com.android.tools.build:gradle:1.5.0。

所要求的:

:机器人:未指定

无法HEAD 'https://repo1.maven.org/maven2/com/android/tools/build/gradle/1.5.0/gradle-1.5.0.pom'

所规定:未通过身份验证

同行

尝试:

使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug 选项运行以获取更多日志输出。

构建失败

你有任何想法如何解决我的问题?

+0

http://stackoverflow.com/questions/26675814/gradle-could-not-head-https-pom-peer-not-authenticated –

+0

你是否按照建议(添加--stacktrace --debug)? – Peter

+0

它看起来像一个代理身份验证问题。在你升级cordova之前你可能没有看到这个问题的原因是,你已经在Gradle缓存中拥有所有代码,并且Gradle不再需要在线解析任何依赖关系。 –

回答

0

我在代理的背后遇到了类似的问题,我一直无法让maven下载gradle,所以我做了这个解决方案。

手动下载gradle,将其放置在文件夹项目的根目录下。

我的文件夹模式

1. Developer (folder) 
    1.1 Projects (folder) 
    1.1.1 project1 (folder) 
    1.1.2 project2 (folder) 
    1.2 gradle-2.2.1-all.zip (file) 

然后我做了这个钩子,覆盖URL中gradeBuilder.js到摇篮,到当地一个

#!/usr/bin/env node 

//Hook to change the path to the gradle to find the local one, because the proxy doesn't allow 
//to connect o an https server 

var fs = require('fs'); 
var path = require('path'); 

var rootdir = ".", 
    androidroot = rootdir + "/platforms/android"; 

function replace_string_in_file(filename, to_replace, replace_with) { 
    var data = fs.readFileSync(filename, 'utf8'); 

    if(data.indexOf(replace_with) > -1){ 
    console.log('File already contains required text. Nothing to do.'); 
    } else { 
    console.log(new RegExp(to_replace, "g")); 
    var result = data.replace(new RegExp(to_replace, "g"), replace_with); 
    //console.log(result); 
    fs.writeFileSync(filename, result, 'utf8'); 
    console.log('Changed Build Gradle Path to local successfully'); 
    } 
} 

if(fs.existsSync(androidroot)){ 
    var targetFile = androidroot + '/cordova/lib/builders/GradleBuilder.js'; 
    try{ 

    replace_string_in_file(targetFile, 'http\\\\\\\\://services.gradle.org/distributions/gradle-2.2.1-all.zip', '../../../../../../gradle-2.2.1-all.zip'); 
    } catch(e){ 
    console.log("File " + targetFile + " modified successfully"); 
    } 
} 

并将其放置在钩/项目的before_build文件夹。

希望它有帮助!