Warning:JKS 密鑰庫使用專用格式。建議使用 "keytool -importkeystore -srckeystore...pkcs12" 遷移到行業標準格式 PKCS12

背景

在給項目生成密鑰文件的時候發現出現了一個錯誤。

使用 android studio 填寫好相關信息後,最後生成密鑰時會報一個 Error,如下圖示:

在這裏插入圖片描述

  • 報錯信息如下:

Key was created with errors:
Warning:
JKS 密鑰庫使用專用格式。建議使用 “keytool -importkeystore -srckeystore E:\android_key_store\fragment_demo.jks -destkeystore E:\android_key_store\fragment_demo.jks -deststoretype pkcs12” 遷移到行業標準格式 PKCS12。

  • 分析

看錯誤提示,可以看到:因爲JKS密鑰庫使用專用格式,它建議我們生成密鑰的時候使用 keytool 命令來生成標準的密鑰文件,遷移到行業標準格式 PKCS12


解決問題

那麼我們使用 keytool 命令在 cmd 命令行工具中生成密鑰文件,在 cmd 命令窗口中輸入如下命令:

keytool -genkey -alias imxiaoqi -keypass imxiaoqi -keyalg RSA -keysize 1024 -validity 36500 -keystore E:\android_key_store\fragment_demo.keystore -storepass imxiaoqi

如下圖示:

在這裏插入圖片描述

上面的命令應該不難理解,就是你給密鑰文件設置的生成位置,key aliaskey passwordkey store password,回車後,需要繼續按照提示輸入相關信息,依次填寫好信息後,輸入 Y 確認信息即可。

我們看看生成的密鑰文件如下:

在這裏插入圖片描述

  • 查看密鑰詳細輸出信息

輸入如下命令:

keytool -list -v -keystore E:\android_key_store\fragment_demo.keystore

如下圖示:

在這裏插入圖片描述

上面時生成的是 keystore 後綴的密鑰文件,至於 jks 後綴密鑰和 keystore 後綴密鑰文件的區別,同學們可以看文章 jks與keystore區別 簡單瞭解一下即可。

  • 下面我們來生成 jks 後綴的密鑰文件

根據生成 keystore 後綴的密鑰文件命令,簡單修改命令如下所示:

keytool -genkey -alias imxiaoqi -keypass imxiaoqi -keyalg RSA -keysize 1024 -validity 36500 -keystore E:\android_key_store\fragment_demo_jks.jks -storepass imxiaoqi

可以看到這裏只對密鑰文件名稱和後綴作了修改,其他都是一樣的,各個參數的意思也是一樣的,如下圖示:

在這裏插入圖片描述

  • 我們繼續看一下密鑰輸出信息,如下圖示:

在這裏插入圖片描述

到這裏我們就知道了怎麼使用 keytool 命令來生成 jks 後綴或者是 keystore 後綴的密鑰文件。

  • 接下來重新選擇密鑰文件
    在這裏插入圖片描述

  • 選擇 build variants 生成簽名 apk
    在這裏插入圖片描述
    在這裏插入圖片描述
    好了,這裏錯誤我們也解決了,也學會了 keytool 命令。


技術永不眠,我們下期見!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章