在cmd進入jdk的bin目錄,把keystore文件和apk安裝包放到bin目錄下,然后執行以下命令,需要管理員權限:
jarsgner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore [keystorePath] -singnedjar [apkOut] [apkln] [alias]
例如

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore androids.keystore -signedjar mzbl36000.apk mzbl3600.apk 00000000000
jarsgner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore [keystorePath] -singnedjar [apkOut] [apkln] [alias]
ps:紅色英文不填的話,默認簽名算法采用“SHA256withRSA”,所以會導致360提示:”您的應用簽名算法采用“SHA256withRSA”,在部分4.2一下安卓版本的手機上不能安裝
詳細
Android版本加固后簽名
在上傳應用的時候,應用加固之后會破壞原有的簽名,需要重新簽名才能發布到應用市場中,如下圖: 
加固后的簽名步驟如下:
1:簽名之前需要Java的JDK環境以及被破壞簽名的apk安裝包,以及將需要用來簽名的keystore文件。
2:將未簽名的apk和keystore文件拷貝到JDK安裝目錄下bin子目錄下,通過bin目錄下的jarsigner命令對未簽名的apk安裝包進行簽名。
通過cmd進入命令行模式:
1、 Windows+R
2、 輸入如下命令進行簽名:
jarsigner -verbose –keystore 指定數字證書存儲路徑
-signedjar 簽名后的apk包未簽名的 apk包_legu.apk 數字證書別名
如:
jarsigner -verbose -keystore mzjsz.keystore -signedjar zjsz_android_release-release.apk zjsz_android_release-release.apk zjsz
以上命令的說明:
-verbose:指定生成詳細輸出
-keystore:指定數字證書存儲路徑
-signedjar:該選項的三個參數為
簽名后的apk包
未簽名的apk包
數字證書別名(后面有獲取方式)
注意數字證書別名有效期。
注意:簽名后的apk包和未簽名的apk包的包名盡量不要相同,否則將會將之前的版本直接覆蓋掉。
輸入正確指令之后會要求輸入密鑰庫的密碼即keystore的File Password,輸入的過程中不會有任何的顯示。輸入完成按Enter鍵:
接着輸入密鑰口令即keystore的Key Password,完成按Enter
當出現下圖即表示成功
在bin目錄下生成一個mzjsz_android.apk文件。 
獲取keystore數字證書別名:
在簽名的過程中會需要獲取keystore數字證書別名,具體的操作如下:
通過命令定位在JDK的bin目錄下,或者在bin文件夾中按住shift+右鍵,在彈出菜單項中選擇在此處打開命令窗口。
輸入指令keytool -list -v -keystore keystore文件名 –storepass keystore文件密碼
例如:keytool -list -v -keystore keystoreName -storepass keystorePassword
出現下圖就表示獲取成功 
