Gan*_*zsh 4 java android build gradle
我正在尝试使用 gradle 及其包装器手动配置一个 Android 项目,但我总是遇到相同的错误。
我可以gradlew使用以下build.gadle文件生成脚本:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.3.1'
}
}
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "23.0.1"
}
task wrapper(type: Wrapper) {
gradleVersion = '2.6'
}
Run Code Online (Sandbox Code Playgroud)
当我启动gradlew脚本时出现 SSL 错误,这是堆栈跟踪:
Downloading https://services.gradle.org/distributions/gradle-2.6-bin.zip
...............
Exception in thread "main" javax.net.ssl.SSLException: Connection has been shutdown: javax.net.ssl.SSLException: Tag mismatch!
at sun.security.ssl.SSLSocketImpl.checkEOF(SSLSocketImpl.java:1541)
at sun.security.ssl.AppInputStream.available(AppInputStream.java:60)
at java.io.BufferedInputStream.available(BufferedInputStream.java:410)
at sun.net.www.MeteredStream.available(MeteredStream.java:170)
at sun.net.www.http.KeepAliveStream.close(KeepAliveStream.java:85)
at java.io.FilterInputStream.close(FilterInputStream.java:181)
at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.close(HttpURLConnection.java:3408)
at org.gradle.wrapper.Download.downloadInternal(Download.java:77)
at org.gradle.wrapper.Download.download(Download.java:44)
at org.gradle.wrapper.Install$1.call(Install.java:62)
at org.gradle.wrapper.Install$1.call(Install.java:48)
at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:65)
at org.gradle.wrapper.Install.createDist(Install.java:48)
at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:128)
at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
Caused by: javax.net.ssl.SSLException: Tag mismatch!
at sun.security.ssl.Alerts.getSSLException(Alerts.java:208)
at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1949)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1020)
at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:930)
at sun.security.ssl.AppInputStream.read(AppInputStream.java:105)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:284)
at java.io.BufferedInputStream.read(BufferedInputStream.java:345)
at sun.net.www.MeteredStream.read(MeteredStream.java:134)
at java.io.FilterInputStream.read(FilterInputStream.java:133)
at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(HttpURLConnection.java:3335)
at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(HttpURLConnection.java:3328)
at org.gradle.wrapper.Download.downloadInternal(Download.java:62)
... 7 more
Caused by: javax.crypto.AEADBadTagException: Tag mismatch!
at com.sun.crypto.provider.GaloisCounterMode.decryptFinal(GaloisCounterMode.java:524)
at com.sun.crypto.provider.CipherCore.finalNoPadding(CipherCore.java:1023)
at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:960)
at com.sun.crypto.provider.AESCipher.engineDoFinal(AESCipher.java:479)
at javax.crypto.Cipher.doFinal(Cipher.java:2377)
at sun.security.ssl.CipherBox.decrypt(CipherBox.java:461)
at sun.security.ssl.InputRecord.decrypt(InputRecord.java:172)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1015)
... 16 more
Run Code Online (Sandbox Code Playgroud)
所以我终于想出了一个解决方案。事实证明,当时通过 HTTPS 从http://services.gradle.org/distributions/下载包装器似乎无法正常工作。
然后我遇到了另一个问题,下载的存档已损坏...所以诀窍是从导航器下载存档并在gradle/wrapper/gradle-wrapper.properties文件中的路径中手动解压缩,然后它就像一个魅力!
希望服务器能尽快修复。我还在想,如果这个问题不从我的Java安装来了,不过,我运行的Arch Linux和尝试openjdk8,jdk8并且jdk7每次我改变了版本的时候,无论是我先行一步或者错误消息和堆栈跟踪是不同的。我将在 Windows 上尝试并更新这篇文章。
编辑 1:事实证明它在 Windows 上运行良好!问题来自我的 Java 安装。
编辑 2:我在朋友的互联网连接上尝试了其他地方,并惊讶它像魅力一样工作......问题可能是我的 ISP(免费)或他们给我的路由器。
| 归档时间: |
|
| 查看次数: |
10219 次 |
| 最近记录: |