Android生成签名文件及对apk进行签名
1. 生产签名文件
keytool -genkey -v -keystore esg.jks -keyalg RSA -keysize 2048 -validity 10000 -alias esg
-
keytool
: 这是Java提供的一个命令行工具,用于管理密钥库和证书。 -
-genkey
: 这个选项告诉keytool
生成一个新的密钥对。 -
-v
: 这个选项使keytool
在执行时输出详细信息,例如生成的密钥对的详细信息。 -
-keystore esg.jks
: 这个选项指定了要创建或使用的密钥库文件的名称,这里是esg.jks
。 -
-keyalg RSA
: 这个选项指定了生成密钥对时使用的密钥算法,这里是RSA算法。 -
-keysize 2048
: 这个选项指定了生成的RSA密钥对的长度,这里是2048位。 -
-validity 10000
: 这个选项指定了生成的证书的有效期限,以天为单位,这里是10000天(约合27年)。 -
-alias esg
: 这个选项指定了生成的密钥对的别名。在之后的操作中,可以使用这个别名来引用这对密钥。
2. 对apk进行签名
apksigner sign --ks esg.jks --ks-key-alias esg --ks-pass pass:123456 –out app-release-sign.apk app-release.apk
-
apksigner
: 这是Android SDK提供的一个命令行工具,用于对APK文件进行签名。 -
sign
: 这个命令告诉apksigner
对APK文件进行签名操作。 -
--ks esg.jks
: 这个选项指定了存储密钥的密钥库文件,即esg.jks
。 -
--ks-key-alias esg
: 这个选项指定了要使用的密钥对的别名,即esg
。 -
--ks-pass pass:123456
: 这个选项指定了密钥库的密码。这里密码为123456
。pass:
告诉工具密码的形式是明文。请注意,这不是最安全的做法,实际中可能会使用更安全的方式来提供密码,比如使用密钥库密码提供者。 -
-out app-release-sign.apk
: 这个选项指定了签名后生成的APK文件的输出路径和名称,即app-release-sign.apk
。 -
app-release.apk
: 这是要签名的Android应用程序文件,即输入文件。
备注
apksigner工具一般不能直接使用,也不用下载,安卓开发工具自带
一般在 C:\Users\AILN\AppData\Local\Android\Sdk\build-tools\34.0.0
将这个目录放入到系统变量PATH中即可