1. 程式人生 > >Android程式簽名打包

Android程式簽名打包

簽名的意義:

Android APP都需要用一個證書對應用進行數字簽名,不然是無法安裝到Android手機上的,平時我們除錯執行到手機上時,是AS會自動用預設的金鑰和證書來進行簽名;但是我們實際釋出編譯時,則不會自動簽名,這個時候我們就需要進行手動簽名了! 為我們的APK簽名有以下好處:

  • 應用程序升級:

       如果你希望使用者無縫升級到新的版本,那麼你必須用同一個證書進行簽名。這是由於只有以同一個證書籤名,系統才會允許安裝升級的應用程式。如果你採用了不同的證書,那麼系統會要求你的應用程式採用不同的包名稱,在這種情況下相當於安裝了一個全新的應用程式。如果想升級應用程式,簽名證書要相同,包名稱要相同!

  • 應用程式模組化:

        Android系統可以允許同一個證書籤名的多個應用程式在一個程序裡執行,系統實際把他們作為一個單個的應用程式,此時就可以把我們的應用程式以模組的方式進行部署,而使用者可以獨立的升級其中的一個模組。

  • 程式碼或者資料共享:

        Android提供了基於簽名的許可權機制,那麼一個應用程式就可以為另一個以相同證書籤名的應用程式公開自己的功能。以同一個證書對多個應用程式進行簽名,利用基於簽名的許可權檢查,你就可以在應用程式間以安全的方式共享程式碼和資料了。 不同的應用程式之間,想共享資料,或者共享程式碼,那麼要讓他們執行在同一個程序中,而且要讓他們用相同的證書籤名。

——以上內容摘自:Android為什麼要簽名

Android Studio如何打包簽名?

除錯時預設生成的apk在:app/build/outputs/apk目錄下!

  • 首先,開啟AS上的一個專案,選單中找到 Build,Generate Signed APK...

  • 點選彈出視窗,如果沒有key,建立一個;如果有之前建立過key,直接開啟

  • 自己新建key的步驟

  • 點選OK後,可以看到我們密碼的資訊,可能需要我們記住密碼,可以填寫下

  • 點選Next

  • 點選Finish稍等一會兒會出現下述提示,說明應用已經打包簽名成功了

  • 可以看到打包後的APK已經安詳地躺在我們的app目錄下

  • 如果你要驗證是否簽名,只需要輸入下述cmd指令