生成新的密鑰庫文件
-
-keystore ~/your-release-key.jks
:指定密鑰庫的路徑和名稱弦讽。 -
-keyalg RSA
:指定密鑰算法吻贿,這里使用 RSA臣咖。 -
-keysize 2048
:指定密鑰的大小跨琳。 -
-validity 10000
:指定密鑰的有效期近顷,以天為單位(10000 天約為 27 年)诈唬。 -
-alias your-key-alias
:為你的密鑰指定一個(gè)別名(需要記住韩脏,后面?zhèn)浒覆榭垂€和md5指紋需要用到
)。 - 命令:
keytool -genkey -v -keystore ~/your-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias your-key-alias
配置gradle構(gòu)建文件
- 打開
android/app/build.gradle
铸磅,進(jìn)行如下配置: - 將
your-key-alias
替換你的密鑰別名 - 將
your-key-password
替換密鑰的密碼 - 將
/path/to/your-release-key.jks
替換為你的密鑰庫文件的實(shí)際路徑赡矢。 - 將
your-keystore-password
替換為密鑰庫的密碼。android { ... signingConfigs { release { keyAlias 'your-key-alias' keyPassword 'your-key-password' storeFile file('/path/to/your-release-key.jks') storePassword 'your-keystore-password' } } buildTypes { release { signingConfig signingConfigs.release minifyEnabled false shrinkResources false // 注意:如果需要開啟代碼混淆阅仔,請(qǐng)?jiān)O(shè)置 minifyEnabled 為 true吹散,并配置 proguard-rules.pro // proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } }
驗(yàn)證簽名
- 輸出
Verified
說明 APK 已正確簽名:apksigner verify build/app/outputs/flutter-apk/app-release.apk
注意事項(xiàng)
- 密鑰管理:保管你的密鑰庫文件和密碼。如果丟失密鑰八酒,將無法更新應(yīng)用侨歉。
- 安全性:不要將密鑰庫文件和密碼直接硬編碼到項(xiàng)目中∫煜#可以考慮使用環(huán)境變量或安全存儲(chǔ)工具。
備案相關(guān)命令
- 需求信息:
包名bundle ID
公鑰
-
證書MD5指紋
:(32長度的16進(jìn)制數(shù)字)
- 查看
公鑰
:keytool -exportcert -alias "keys" -keystore "your-release-key.jks" | openssl x509 -inform DER -subject_hash
- 查看密鑰庫的內(nèi)容唁桩,
(有幾個(gè)證書,可以在這里看)
keytool -list -v -keystore "your-release-key.jks"
由于 MD5 已經(jīng)被認(rèn)為不安全耸棒,因此現(xiàn)代工具和方法可能默認(rèn)不顯示 MD5 指紋荒澡。如果確實(shí)需要查看 MD5 指紋,你可以通過導(dǎo)出證書并使用 openssl 手動(dòng)計(jì)算來實(shí)現(xiàn)与殃。這種方法不僅適用于 .jks 文件单山,還適用于其他證書管理系統(tǒng)
- 使用
openssl
提取MD5指紋
:- 導(dǎo)出
.cer
證書:keytool -exportcert -alias "your-key-alias" -keystore "your-release-key.jks" -file exported_cert.cer
- 或者導(dǎo)出
.crt
證書:keytool -exportcert -alias "your-key-alias" -keystore "your-release-key.jks" -file exported_cert.crt
- 或者導(dǎo)出
.pem
格式(openssl工具可能無法識(shí)別上面的證書格式)
:
-rfc
:使用 PEM 格式導(dǎo)出證書(這是文本格式,可以直接查看和使用)幅疼。keytool -exportcert -alias "your-key-alias" -keystore "your-release-key.jks" -rfc -file exported_cert.pem
- 讀取證書米奸,并計(jì)算
MD5指紋
:openssl x509 -in exported_cert.crt -noout -fingerprint -md5
- 導(dǎo)出