尝试升级到最新的Gradle(2.2.0)时构建失败

时间:2016-09-20 21:31:20

标签: android jenkins gradle android-gradle

尝试使用最新的Gradle构建时,我的Jenkins CI服务器上出现以下错误。

它使用最新的Android Studio(2.2稳定版)在我的本地环境中构建,但我的Jenkins服务器因此错误而失败。

对此有何想法?错误对我没有任何意义......

我确实让服务器人安装了我认为必需的JRE8。

$ /var/lib/jenkins/jobs/android-native-dev/workspace/gradlew assembleRelease
Exception in thread "main" java.lang.RuntimeException: Could not hash input string.
    at org.gradle.wrapper.PathAssembler.getMd5Hash(PathAssembler.java:63)
    at org.gradle.wrapper.PathAssembler.rootDirName(PathAssembler.java:52)
    at org.gradle.wrapper.PathAssembler.getDistribution(PathAssembler.java:45)
    at org.gradle.wrapper.Install.createDist(Install.java:43)
    at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:129)
    at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:48)
Caused by: java.security.NoSuchAlgorithmException: MD5 MessageDigest not available
    at sun.security.jca.GetInstance.getInstance(GetInstance.java:159)
    at java.security.Security.getImpl(Security.java:695)
    at java.security.MessageDigest.getInstance(MessageDigest.java:159)
    at org.gradle.wrapper.PathAssembler.getMd5Hash(PathAssembler.java:58)
    ... 5 more
Build step 'Invoke Gradle script' changed build result to FAILURE

我使用以下配置:

gradle-wrapper.properties

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip

Project Gradle:

dependencies {
        classpath 'com.android.tools.build:gradle:2.2.0'

模块Gradle:

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"
    useLibrary 'org.apache.http.legacy'

    defaultConfig {
        minSdkVersion 15
        targetSdkVersion 23
    }

根据docs,我的所有配置都正确,*但是我看到文档有" distributionUrl"仍然指向2.10-all(认为这只是文档错误,我在这里更正)。

2 个答案:

答案 0 :(得分:1)

错误是由JRE8安装而不是JDK8引起的。考虑切换到JDK,因为gradle假定安装了JDK。

JDK vs JRE this image

正如您在图片中看到的那样,JRE不包含可能负责NoSuchAlgorithmException的安全包。

答案 1 :(得分:0)

我认为我们安装的JDK已损坏或不正确。我们重新安装了JDK,但使用了本页描述的过程,以确保它是正确的。

https://askubuntu.com/questions/521145/how-to-install-oracle-java-on-ubuntu-14-04