Java Android Studio:错误:org.gradle.tooling.BuildException:无法生成v1签名

Java Android Studio:错误:org.gradle.tooling.BuildException:无法生成v1签名,java,android,android-studio,gradle,java-8,Java,Android,Android Studio,Gradle,Java 8,这个问题出现在Android Studio 3.0中 当我创建一个新项目时,一切正常,但过了一段时间,错误就消失了 错误:org.gradle.tooling.BuildException:无法生成v1签名 开始自动显示,导致渐变失败 当我使用--stacktrace运行它时,它会显示以下内容: 信息:渐变任务[:app:assembleDebug] 错误:org.gradle.tooling.BuildException:无法生成v1签名 错误:java.io.IOException:无法生成

这个问题出现在Android Studio 3.0中

当我创建一个新项目时,一切正常,但过了一段时间,错误就消失了

错误:org.gradle.tooling.BuildException:无法生成v1签名

开始自动显示,导致渐变失败

当我使用--stacktrace运行它时,它会显示以下内容:

信息:渐变任务[:app:assembleDebug]

错误:org.gradle.tooling.BuildException:无法生成v1签名

错误:java.io.IOException:无法生成v1签名

错误:java.security.InvalidKeyException:无法使用签名者“CERT”进行签名

错误:java.security.InvalidKeyException:无法使用SHA1 WithDSA进行签名

错误:java.security.InvalidKeyException:SHA-1摘要算法的安全强度不足以满足此密钥大小

信息:生成在1s内失败

5个错误0个警告

下面是Gradle控制台的全部要点

我正在使用Windows10x64和JDK8x64


任何帮助解决这个问题都将不胜感激

尝试将以下内容添加到
build.gradle
中,然后重新构建

android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

我发现我能够通过使用以下命令行构建新的密钥文件来解决此问题,如中所述:


具体地说,我认为问题在于,默认值在某个时候从RSA更改为DSA,并且这些工具在使用大型DSA密钥时无法正常工作。

我尝试了您的建议,但不幸的是,同样的问题仍然存在。好的,当然,感谢您的建议。以下是我的TeamViewer详细信息:请尝试此ID:506 315 740抱歉尝试限制超过,稍后将重试。我也看到了这一点-一些研究表明Java 8“keytool”程序更改了一些默认设置,并且它生成的密钥不适用于使用旧Java版本签名,除非某些选项发生更改。建议将SHA1改为SH256,但我不知道怎么做。但即使是Android Studio的嵌入式JDK也不起作用,问题是,Android Studio团队在将其发布到公众面前之前是否应该至少测试过其嵌入式JDK?…我使用的是安卓Studio 3.0,它工作正常。
keytool -genkey -v -keystore my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-alias