离子构建 android 失败,来自 Gradle 的 403 Http 响应,JAVA_HOME 无效
Ionic build android failed with 403 Http respose from Gradle, JAVA_HOME not valid
我正在使用 Windows 7X64 机器并尝试使用 cordova/ionic CLI v1.5.5
构建 Andriod 应用程序。我收到无法解决的错误。
"You may not have the required environment or OS to build this project"
使用命令 ionic build android
和 cordova build android
。命令 ionic platform add android
成功。我正在使用 Android SDK 管理器使用 Android sdk (API 22)。我还确保正确设置了 PATH 变量。
完整的过程记录为:
C:\Users\ddevkota\Desktop\freshIonic>ionic build android
Running command: "C:\Program Files\nodejs\node.exe" C:\Users\ddevkota\Desktop\fr
eshIonic\hooks\after_prepare0_add_platform_class.js C:\Users\ddevkota\Desktop
\freshIonic
add to body class: platform-android
Running command: cmd "/s /c "C:\Users\ddevkota\Desktop\freshIonic\platforms\andr
oid\cordova\build.bat""
ANDROID_HOME=C:\Users\ddevkota\AppData\Local\Android\sdk
JAVA_HOME=C:\Progra~1\Java\jdk1.7.0_15
Running: C:\Users\ddevkota\Desktop\freshIonic\platforms\android\gradlew cdvBuild
Debug -b C:\Users\ddevkota\Desktop\freshIonic\platforms\android\build.gradle -Do
rg.gradle.daemon=true
Downloading http://services.gradle.org/distributions/gradle-2.2.1-all.zip
Exception in thread "main" java.lang.RuntimeException: java.io.IOException: Serv
er returned HTTP response code: 403 for URL: http://services.gradle.org/distribu
tions/gradle-2.2.1-all.zip
at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAcc
essManager.java:78)
at org.gradle.wrapper.Install.createDist(Install.java:47)
at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:129)
at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:48)
Caused by: java.io.IOException: Server returned HTTP response code: 403 for URL:
http://services.gradle.org/distributions/gradle-2.2.1-all.zip
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCon
nection.java:1625)
at org.gradle.wrapper.Download.downloadInternal(Download.java:59)
at org.gradle.wrapper.Download.download(Download.java:45)
at org.gradle.wrapper.Install.call(Install.java:60)
at org.gradle.wrapper.Install.call(Install.java:47)
at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAcc
essManager.java:65)
... 3 more
C:\Users\ddevkota\Desktop\freshIonic\platforms\android\cordova\node_modules\q\q.
js:126
throw e;
^
Error code 1 for command: cmd with args: /s /c "C:\Users\ddevkota\Desktop\freshI
onic\platforms\android\gradlew cdvBuildDebug -b C:\Users\ddevkota\Desktop\freshI
onic\platforms\android\build.gradle -Dorg.gradle.daemon=true"
ERROR building one of the platforms: Error: cmd: Command failed with exit code 1
You may not have the required environment or OS to build this project
Error: cmd: Command failed with exit code 1
at ChildProcess.whenDone (C:\Users\ddevkota\AppData\Roaming\npm\node_modules
\cordova\node_modules\cordova-lib\src\cordova\superspawn.js:134:23)
at ChildProcess.emit (events.js:110:17)
at maybeClose (child_process.js:1015:16)
at Process.ChildProcess._handle.onexit (child_process.js:1087:5)
提前感谢您的帮助。
注意:这原来是客户端 (403) 中的权限问题。我将我的机器连接到不同的网络并开始工作。所有构建过程。如果你想手动完成这里是我得到的程度。
无效的解决方案JAVA_HOME
在花了几天时间卸载所有版本的 java 后,只重新安装一个版本并将环境变量JAVA_HOME
设置为 C:\Program Files\Java\jdk1.7.0_15
我解决了问题。
但是在下载 gradle 时出现另一个离子构建 android 错误的问题 gradle。
当我将 gradle 添加到我的离线项目时,这个问题得到了解决。
不Gradle 403 Http响应的解决方法
执行以下操作:
从发布的 link 下载 gradle 后(这里是 https://services.gradle.org/distributions/gradle-2.2.1-all.zip)将其粘贴到 myApp\platforms\android\gradle\gradle-2.2.1-all.zip
之类的地方,然后在 myApp\platforms\android\cordova\lib\build.js
的 build.js 中找到:
var distributionUrl = 'distributionUrl=https://services.gradle.org/distributions/gradle-2.2.1-all.zip'
;
并将其替换为您自己的文件位置:
var distributionUrl = 'distributionUrl=../gradle-2.2.1-all.zip';
仍在构建中,并将继续发布解决方案。在 ionic 论坛中创建了一个关于其他问题的线程 here。
不Gradle 403 Http响应的解决方法
在以下位置找到 distributionUrl 变量:
myapp\platforms\android\cordova\lib\builders\GradleBuilder.js
将此行中的 http
值更改为 https
:
var distributionUrl = process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || 'https://services.gradle.org/distributions/gradle-2.2.1-all.zip';
我正在使用 Windows 7X64 机器并尝试使用 cordova/ionic CLI v1.5.5
构建 Andriod 应用程序。我收到无法解决的错误。
"You may not have the required environment or OS to build this project"
使用命令 ionic build android
和 cordova build android
。命令 ionic platform add android
成功。我正在使用 Android SDK 管理器使用 Android sdk (API 22)。我还确保正确设置了 PATH 变量。
完整的过程记录为:
C:\Users\ddevkota\Desktop\freshIonic>ionic build android
Running command: "C:\Program Files\nodejs\node.exe" C:\Users\ddevkota\Desktop\fr
eshIonic\hooks\after_prepare0_add_platform_class.js C:\Users\ddevkota\Desktop
\freshIonic
add to body class: platform-android
Running command: cmd "/s /c "C:\Users\ddevkota\Desktop\freshIonic\platforms\andr
oid\cordova\build.bat""
ANDROID_HOME=C:\Users\ddevkota\AppData\Local\Android\sdk
JAVA_HOME=C:\Progra~1\Java\jdk1.7.0_15
Running: C:\Users\ddevkota\Desktop\freshIonic\platforms\android\gradlew cdvBuild
Debug -b C:\Users\ddevkota\Desktop\freshIonic\platforms\android\build.gradle -Do
rg.gradle.daemon=true
Downloading http://services.gradle.org/distributions/gradle-2.2.1-all.zip
Exception in thread "main" java.lang.RuntimeException: java.io.IOException: Serv
er returned HTTP response code: 403 for URL: http://services.gradle.org/distribu
tions/gradle-2.2.1-all.zip
at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAcc
essManager.java:78)
at org.gradle.wrapper.Install.createDist(Install.java:47)
at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:129)
at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:48)
Caused by: java.io.IOException: Server returned HTTP response code: 403 for URL:
http://services.gradle.org/distributions/gradle-2.2.1-all.zip
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCon
nection.java:1625)
at org.gradle.wrapper.Download.downloadInternal(Download.java:59)
at org.gradle.wrapper.Download.download(Download.java:45)
at org.gradle.wrapper.Install.call(Install.java:60)
at org.gradle.wrapper.Install.call(Install.java:47)
at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAcc
essManager.java:65)
... 3 more
C:\Users\ddevkota\Desktop\freshIonic\platforms\android\cordova\node_modules\q\q.
js:126
throw e;
^
Error code 1 for command: cmd with args: /s /c "C:\Users\ddevkota\Desktop\freshI
onic\platforms\android\gradlew cdvBuildDebug -b C:\Users\ddevkota\Desktop\freshI
onic\platforms\android\build.gradle -Dorg.gradle.daemon=true"
ERROR building one of the platforms: Error: cmd: Command failed with exit code 1
You may not have the required environment or OS to build this project
Error: cmd: Command failed with exit code 1
at ChildProcess.whenDone (C:\Users\ddevkota\AppData\Roaming\npm\node_modules
\cordova\node_modules\cordova-lib\src\cordova\superspawn.js:134:23)
at ChildProcess.emit (events.js:110:17)
at maybeClose (child_process.js:1015:16)
at Process.ChildProcess._handle.onexit (child_process.js:1087:5)
提前感谢您的帮助。
注意:这原来是客户端 (403) 中的权限问题。我将我的机器连接到不同的网络并开始工作。所有构建过程。如果你想手动完成这里是我得到的程度。
无效的解决方案JAVA_HOME
在花了几天时间卸载所有版本的 java 后,只重新安装一个版本并将环境变量JAVA_HOME
设置为 C:\Program Files\Java\jdk1.7.0_15
我解决了问题。
但是在下载 gradle 时出现另一个离子构建 android 错误的问题 gradle。
当我将 gradle 添加到我的离线项目时,这个问题得到了解决。
不Gradle 403 Http响应的解决方法
执行以下操作:
从发布的 link 下载 gradle 后(这里是 https://services.gradle.org/distributions/gradle-2.2.1-all.zip)将其粘贴到 myApp\platforms\android\gradle\gradle-2.2.1-all.zip
之类的地方,然后在 myApp\platforms\android\cordova\lib\build.js
的 build.js 中找到:
var distributionUrl = 'distributionUrl=https://services.gradle.org/distributions/gradle-2.2.1-all.zip'
;
并将其替换为您自己的文件位置:
var distributionUrl = 'distributionUrl=../gradle-2.2.1-all.zip';
仍在构建中,并将继续发布解决方案。在 ionic 论坛中创建了一个关于其他问题的线程 here。
不Gradle 403 Http响应的解决方法
在以下位置找到 distributionUrl 变量:
myapp\platforms\android\cordova\lib\builders\GradleBuilder.js
将此行中的 http
值更改为 https
:
var distributionUrl = process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || 'https://services.gradle.org/distributions/gradle-2.2.1-all.zip';