繁体   English   中英

使用 Apache Cordova 时无法在 Visual Studio 2017 中构建应用程序

[英]Can't build app in Visual Studio 2017 while using Apache Cordova

我正在尝试为我的项目获取 .apk。 我在 Visual Studio 2017 中使用 Apache Cordova。当我尝试构建我的解决方案时,它总是出现一些错误。 我安装了 Java 开发工具包 Gradle。 我有最新版本的 Cordova。 项目非常简单。 我使用了一些脚本和 html 元素。 但我总是得到错误。 我只是尝试将默认文件与我的文件结合起来,看看我是否错误地做错了什么。 它没有改变。 我什至尝试构建默认项目。 这是我简单地合并文件而不进行太多更改时得到的结果。 我总是得到 31 个错误。 这是我的错误列表:

Severity    Code    Description Project File    Line    Suppression State
Error       Picked up _JAVA_OPTIONS: -Xmx512M   Colors      1   
Error       Exception in thread "main" java.lang.RuntimeException: java.io.IOException: Server returned HTTP response code: 403 for URL: http://services.gradle.org/distributions/gradle-2.13-all.zip   Colors      1   
Error        at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:78)    Colors      1   
Error        at org.gradle.wrapper.Install.createDist(Install.java:47)  Colors      1   
Error        at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:129)    Colors      1   
Error        at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:48)    Colors      1   
Error       Caused by: java.io.IOException: Server returned HTTP response code: 403 for URL: http://services.gradle.org/distributions/gradle-2.13-all.zip   Colors      1   
Error        at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1919)  Colors      1   
Error        at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1515)   Colors      1   
Error        at org.gradle.wrapper.Download.downloadInternal(Download.java:59)  Colors      1   
Error        at org.gradle.wrapper.Download.download(Download.java:45)  Colors      1   
Error        at org.gradle.wrapper.Install$1.call(Install.java:60)  Colors      1   
Error        at org.gradle.wrapper.Install$1.call(Install.java:47)  Colors      1   
Error        at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:65)    Colors      1   
Error        ... 3 more Colors      1   
Error       Error: cmd: Command failed with exit code 1 Error output:   Colors      1   
Error       Picked up _JAVA_OPTIONS: -Xmx512M   Colors      1   
Error       Exception in thread "main" java.lang.RuntimeException: java.io.IOException: Server returned HTTP response code: 403 for URL: http://services.gradle.org/distributions/gradle-2.13-all.zip   Colors      1   
Error        at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:78)    Colors      1   
Error        at org.gradle.wrapper.Install.createDist(Install.java:47)  Colors      1   
Error        at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:129)    Colors      1   
Error        at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:48)    Colors      1   
Error       Caused by: java.io.IOException: Server returned HTTP response code: 403 for URL: http://services.gradle.org/distributions/gradle-2.13-all.zip   Colors      1   
Error        at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1919)  Colors      1   
Error        at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1515)   Colors      1   
Error        at org.gradle.wrapper.Download.downloadInternal(Download.java:59)  Colors      1   
Error        at org.gradle.wrapper.Download.download(Download.java:45)  Colors      1   
Error        at org.gradle.wrapper.Install$1.call(Install.java:60)  Colors      1   
Error        at org.gradle.wrapper.Install$1.call(Install.java:47)  Colors      1   
Error        at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:65)    Colors      1   
Error        ... 3 more Colors      1   

我对所有这些东西都不陌生。 我错过了什么吗? 我应该安装一些额外的插件或工具吗?

有一些简单的步骤可以修复错误。

1)使用文本编辑器找到并打开platforms\\android\\cordova\\lib\\builders\\GradleBuilder.js文件。
找到线

var distributionUrl = process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || 'http\\://services.gradle.org/distributions/gradle-2.13-all.zip';

然后将这一行中的http更改为https ,如下所示:

var distributionUrl = process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || 'https\\://services.gradle.org/distributions/gradle-2.13-all.zip';

然后保存文件。

2)检查已安装的 jdk 版本,如果未安装,请安装jdk 1.8

然后,如果JAVA_HOME环境变量不是1.8在 Visual Studio 中打开tools->options->Tools for Apache Cordova->Environment Variable Overrides ,选中JAVA_HOME复选框并选择 java 1.8 文件夹,如下所示:

C:\\Program Files\\Java\\jdk1.8.0_241

然后运行构建它会工作。

出现此问题是因为 Cordova 想要更新您的 gradle 包但 url 无效。

您可以尝试访问错误消息中的 URL: http : //services.gradle.org/distributions/gradle-2.13-all.zip,因为您可以看到该链接被该站点禁止。 那是因为该站点必须使用 https,所以您可以使用 SSL 并尝试https://services.gradle.org/distributions/gradle-2.13-all.zip应该可以工作!!!

那么我该如何解决这个问题呢?

解决方案1 :添加系统环境变量

    CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL
https://services.gradle.org/distributions/gradle-2.13-all.zip

这是我找到的教程: https : //www.architectryan.com/2018/08/31/how-to-change-environment-variables-on-windows-10/

解决方案 2 :手动更新 Cordova 的 Gradle 包

这是我找到的一个有用的教程: https : //www.andreszsogon.com/upgrading-gradle-version-for-apache-cordova-mobile-apps/

我希望这可以帮助你 !!!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM