首页 文章

Cordova 6.1.0与Gradle错误

提问于
浏览
0

将cordova更新到新版本6.1.0并将cordova中的android平台更新到5.1.1后,运行coroda build android时 .

出了什么问题:配置根项目'android'时出现问题 . 无法解析配置':classpath'的所有依赖项 . 找不到com.android.tools.build:gradle:1.5.0 . 要求:: android:未指定不能HEAD'https://repo1.maven.org/maven2/com/android/tools/build/gradle/1.5.0/gradle-1.5.0.pom'要求:peer not authenticated尝试:使用--stacktrace选项运行以获取堆栈跟踪 . 使用--info或--debug选项运行以获取更多日志输出 . 建筑失败

你知道如何解决我的问题吗?

1 回答

  • 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)
    

    然后我做了这个钩子,将gradeBuilder.js中的url覆盖到本地

    #!/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");
      }
    }
    

    并将其放在项目的hooks / before_build文件夹中 .

    希望能帮助到你!

相关问题