android - 带有 Gradle 错误的 Cordova 6.1.0

标签 android cordova gradle android-gradle-plugin

将 Cordova 更新到新版本 6.1.0 并将 Cordova 中的 android 平台更新到 5.1.1 后,运行 coroda 构建 android。

What went wrong:

A problem occurred configuring root project 'android'.

Could not resolve all dependencies for configuration ':classpath'.

Could not find com.android.tools.build:gradle:1.5.0.

Required by:

:android:unspecified

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

Required by:

peer not authenticated

Try:

Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED



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

最佳答案

我在代理后面也遇到过类似的问题,一直无法让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)

然后我做了这个钩子(Hook),将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 文件夹中。

希望能帮助到你!

关于android - 带有 Gradle 错误的 Cordova 6.1.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36279007/

相关文章:

java - 如何创建具有多个静态库的 JNI Android Studio 项目

Android Color(Paint中的setColor)需要负整数?

android - Phonegap/Cordova - TypeError : Result of expression 'navigator.network' [undefined] is not an object

android - "more than one library with package name ' com.google.android.gms '"在 Ionic 上

android - styles.xml (res\values\styles.xml) 和 styles.xml (res\values-v21\styles.xml) 之间的区别?

android - 如何修复无法应用插件 [class 'com.google.gms.googleservices.GoogleServicesPlugin']?

java - Gradle -compileTestGroovy 无法解析主应用程序类

android - 配置 Android 构建变体的错误重新声明类

android - 如何在Android Studio中添加Android POI?

java - 使用 GridView 启动应用程序时窗口已满