gradle - 如何在 Gradle 中签署 jar 文件

标签 gradle signing jarsigner

我需要签署 jar 文件。我这样做是应用插件“签名”并添加 block 符号,如下所示:

apply plugin: 'signing' 
signing {
required { gradle.taskGraph.hasTask("makeService") }
sign configurations.archives
}

最后,我可以添加 PGP key 并对 jar 进行签名,但它是在 jar 文件外部使用 .asc (testJar.jar.asc) 进行签名的。

但我是在 maven 中这样做的,它对所有类信息进行签名并将签名文件放在 meta-inf 目录中。

Gradle 中有没有这样的签名?

请帮助我尝试谷歌搜索和论坛无法获得任何信息。

最佳答案

//Signing
  // def jarsignerskip = false
  def keystoreFile = new File('urkeystore.jks')
  def keystorepass = 'keystoreP@@S'
  def keyalias = 'selfSigned'

  task signJar(dependsOn: 'jar',description: 'to Sign JAR.',group: 'Build'){

    doLast{
      println ":$project.name:${name}"
      def signdir  = new File("$buildDir/jars/signed")
      signdir.mkdirs()
      ant.signjar(
        destDir: "${signdir.absolutePath}",
                  jar: 'build/jars/*.jar',
                  alias:keyalias,
                  storetype:"jks",
                  keystore:"${keystoreFile.absolutePath}",
                  storepass:keystorepass,
                  verbose:true,
                  preservelastmodified:"true"
      )
    }

  }

它对我有用。

关于gradle - 如何在 Gradle 中签署 jar 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39763822/

相关文章:

android - React Native App 在 "--variant=release"命令 : Signed APK 上崩溃

gradle - 在 Travis-CI 上签名生成的工件

clickonce - 嵌入 list 后无法签署 Bootstrap 可执行文件 (setup.exe)

java - 获取 java.lang.SecurityException : attempted to open sandboxed jar as a Trusted-Library

java - Java 安全对话框的外观

java - 在Android Studio中生成失败

git - 我应该在我的 git 存储库中保留多少 Gradle 固定装置?

android - Android 应用程序的付费和免费版本

android - 签约 map 应用android

java - 在时间戳服务器上使用时间戳和身份验证对 jar 进行签名