首先需要生成签名文件,可以下载GPG工具(https://gpgtools.org/)进行生成,然后在build.gradle添加相关内容
apply plugin: 'signing' //使用signing plugin做数字签名
....
signing {
sign configurations.archives
}
执行build,这时候会出现错误:
Caused by: org.gradle.api.InvalidUserDataException: Cannot perform signing task ':signArchives' because it has no configured signatory
at org.gradle.plugins.signing.Sign.generate(Sign.groovy:162)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:63)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:218)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:211)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:200)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:579)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:562)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
... 55 more
原因是没有配置签名的相关信息,可以在根目录下新建一个gradle.properties文件,内容如下:
signing.keyId=24875D73
signing.password=secret
signing.secretKeyRingFile=/Users/me/.gnupg/secring.gpg
再次
build成功!