1. 程式人生 > >手把手教你對APK進行二次簽名

手把手教你對APK進行二次簽名

哈嘍大家好,剛開始寫部落格,寫的不好的地方請見諒!也算是對自己工作的一個記錄吧。

由於專案中近期使用了梆梆安全加固,加固完成後需要對APK進行二次簽名!

大家加固的時候注意看提示哦!

梆梆安全提供的簽名軟體不知道是不是環境的原因,在我這裡用不了,只能使用命令進行簽名了!

  1. 首先把簽名證書(注:可以使用keystore生成一個,也可把studio裡面的直接拷貝出來使用)和要進行簽名的APK檔案一同拷貝到 Java jdk的bin目錄下,—–我的目錄是 D:\Java\bin,我是直接從studio裡面直接拷貝使用的哦

    這裡寫圖片描述

    注:快速開啟命令視窗:在bin目錄下按住shift鍵滑鼠右擊開啟命令列視窗

  2. 執行: jarsigner -verify echat_ydbg_3.0.5_1226_sec.apk 檢視APK有沒有簽名(注:echat_ydbg_3.0.5_1226_sec.apk為自己要加固的檔名稱) 會看到 jar 未簽名。(缺少簽名或無法解析簽名) 字樣,說明缺少簽名。

    這裡寫圖片描述

  3. 下面開始簽名

    1. java jdk1.7以上執行 :(注:親測可行!)
    : jarsigner -digestalg SHA1 -sigalg MD5withRSA -keystore echat.jks -storepass 123456 -signedjar echat_ydbg_3.0.5_1226_signed.apk echat_ydbg_3.0.5_1226_sec.apk codesign

    引數說明:jarsigner -digestalg SHA1 -sigalg MD5withRSA -keystore (注:你的簽名證書名稱) -storepass(注:你的簽名證書密碼

    ) -signedjar (注:簽名後的APK名稱)(注:未簽名的APK名稱) (注:簽名證書的別名

    2. java jdk1.6及以下執行:(注:未親自測試!)
    : jarsigner -verbose -keystore echat.jks -signedjar echat_ydbg_3.0.5_1226_signed.apk echat_ydbg_3.0.5_1226_sec.apk codesign

    接著,會提示你需要輸入密碼,輸入你的簽名證書的密碼即可!

    引數說明:jarsigner -verbose -keystore (注:你的簽名證書名稱) -signedjar (注:簽名後的APK名稱

    )(注:未簽名的APK名稱) (注:簽名證書的別名

    這裡寫圖片描述

到這已經Ok了,是不是感覺很簡單呢!有用到的話可以試試!