apk簽名簡(jiǎn)介
所有的Android應(yīng)用程序都要求開發(fā)人員用一個(gè)證書進(jìn)行數(shù)字簽名,Android系統(tǒng)不會(huì)安裝沒有進(jìn)行簽名的應(yīng)用程序。
在應(yīng)用程序開發(fā)期間,由于是以Debug調(diào)試模式編譯的,因此IDE(ADT)根據(jù)會(huì)自動(dòng)用默認(rèn)的密鑰和證書來進(jìn)行簽名,而以Release發(fā)布模式編譯時(shí),apk文件就不會(huì)得到自動(dòng)簽名,這樣就需要進(jìn)行手工簽名。
apk簽名的好處有:
-
應(yīng)用程序升級(jí)
只有以同一個(gè)證書簽名,系統(tǒng)才會(huì)允許安裝升級(jí)的應(yīng)用程序。
如果你采用了不同的證書,那么系統(tǒng)會(huì)要求你的應(yīng)用程序采用不同的包名稱,在這種情況下相當(dāng)于安裝了一個(gè)全新的應(yīng)用程序。 -
應(yīng)用程序模塊化
Android 系統(tǒng)可以允許同一個(gè)證書簽名的多個(gè)應(yīng)用程序在一個(gè)進(jìn)程里運(yùn)行,系統(tǒng)實(shí)際把他們作為一個(gè)單個(gè)的應(yīng)用程序,此時(shí)就可以把我們的應(yīng)用程序以模塊的方式進(jìn)行部署,而用戶可以獨(dú)立的升級(jí)其中的一個(gè)模塊。 -
數(shù)據(jù)或代碼共享
Android提供了基于簽名的權(quán)限機(jī)制,那么一個(gè)應(yīng)用程序就可以為另一個(gè)以相同證書簽名的應(yīng)用程序公開自己的功能。
Android Studio中apk簽名打包步驟
-
選擇主菜單中Build/Generate Signed APK...,彈出Generate Signed APK對(duì)話框
Signed_APK_1.PNG -
在Generate Signed APK對(duì)話框中,因?yàn)槭堑谝淮螌?duì)apk的簽名,需要先創(chuàng)建簽名文件,點(diǎn)擊Create new...,彈出New Key Store對(duì)話框
Signed_APK_2.PNG 點(diǎn)擊Key store path:中的瀏覽選項(xiàng),選擇指定目錄KeyStore,同時(shí)指定保存的文件名為shellever.jks (文件擴(kuò)展名自動(dòng)生成,故不需要手動(dòng)輸入)
> Key store path: ../KeyStore/shellever.jks
> Password: xxxxxxxx
> --------------------------------------------
> Key
> Alias: PixieRobot
> Password: xxxxxx
> Validity (years): 25 (default)
> ----------------
> Certificate
> First and Last Name: shellever
> Organization: shellever.com
> Country Code (XX): cn
-
輸入相應(yīng)的內(nèi)容后,點(diǎn)擊Ok后回到Generate Signed APK對(duì)話框
Signed_APK_4.PNG 點(diǎn)擊Next后,按新的信息對(duì)話框中,使用默認(rèn)的設(shè)置,點(diǎn)擊Finish即可完成apk簽名
> APK Destination Folder: ../app
> Build Type: release
> Flavors:
-
編譯完成提示
Signed_APK_6.PNG -
切換至工程瀏覽模式,查看../app/app-release.apk
Signed_APK_7.PNG