一、為什么要簽名
開發Android的人這么多,完全有可能大家都把類名,包名起成了一個同樣的名字,這時候如何區分?簽名這時候就是起區分作用的。
由于開發商可能通過使用相同的Package Name來混淆替換已經安裝的程序,簽名可以保證相當名字,但是簽名不同的包不被替換。
APK如果使用一個key簽名,發布時另一個key簽名的文件將無法安裝或覆蓋老的版本,這樣可以防止你已安裝的應用被惡意的第三方覆蓋或替換掉。
這樣簽名其實也是開發者的身份標識。交易中抵賴等事情發生時,簽名可以防止抵賴的發生。
二、簽名的注意事項
Android系統要求所有的程序經過數字簽名才能安裝,如果沒有可用的數字簽名,系統將不許安裝運行此程序。不管是模擬器還是真實手機。因此,在設備或者是模擬器上運行調試程序之前,必須為應用程序設置數字簽名。
Android簽名的數字證書不需要權威機構來認證,是開發者自己產生的數字證書,即所謂的自簽名。數字證書用來標識應用程序的作者和在應用程序之間建立信任關系,而不是用來決定最終用戶可以安裝哪些應用程序。
系統僅僅會在安裝的時候測試簽名證書的有效期,如果應用程序的簽名是在安裝之后才到期,那么應用程序仍然可以正常啟用。
可以使用標準工具-Keytool and Jarsigner-生成密鑰,來簽名應用程序的.apk文件。
簽名后需使用zipalign優化程序。
模擬器開發環境,開發時通過ADB接口上傳的程序會先自動被簽有Debug權限,然后才傳遞到模擬器。Eclipse菜單的Window -> Preferences -> Android 主站蜘蛛池模板: 睢宁县| 郓城县| 石景山区| 莱阳市| 茶陵县| 日喀则市| 衡阳县| 连南| 三门县| 西盟| 谢通门县| 盐边县| 望谟县| 海南省| 承德市| 弥勒县| 奈曼旗| 浦东新区| 惠来县| 乌恰县| 闽侯县| 南开区| 错那县| 大兴区| 南昌县| 龙州县| 萨嘎县| 包头市| 阳江市| 郓城县| 新郑市| 夏邑县| 尚志市| 巴彦县| 永修县| 华容县| 乌什县| 广饶县| 湟中县| 政和县| 林州市|