我个人喜欢在应用程序build.gradle
文件中生成我的哈希。
此build.gradle
函数将在 Windows 上生成哈希(更改C:\\OpenSSL-Win64\\bin\\openssl
为您的 OpenSSL 二进制位置):
def getFacebookHash = { ->
try {
def stdOut = new ByteArrayOutputStream()
def stdIn = new ByteArrayInputStream()
exec {
commandLine "keytool", "-exportcert", "-alias", KEY_ALIAS, "-keystore", STORE_FILE, "-storepass", STORE_PASSWORD
standardOutput = stdOut
}
stdIn = new ByteArrayInputStream(stdOut.toByteArray())
stdOut = new ByteArrayOutputStream()
exec {
standardInput = stdIn
commandLine "C:\\OpenSSL-Win64\\bin\\openssl", "sha1", "-binary"
standardOutput = stdOut
}
stdIn = new ByteArrayInputStream(stdOut.toByteArray())
stdOut = new ByteArrayOutputStream()
exec {
standardInput = stdIn
commandLine "C:\\OpenSSL-Win64\\bin\\openssl", "base64"
standardOutput = stdOut
}
def hashString = stdOut.toString().trim()
return hashString
}
catch (error) {
return error.toString();
}
}
然后,您可以在 Gradle 脚本中的任何位置打印结果。
println "Facebook Release Key Hash: " + getFacebookHash()
我将必要的详细信息保存在gradle.properties
:
STORE_FILE=C:/Keystore.jks
STORE_PASSWORD=password
KEY_ALIAS=keystoreAlias
KEY_PASSWORD=password