Android應用簽名

一.Android簽名的原理

Android要求所有已安裝的應用程序都使用數字證書做數字簽名, 數字證書的私鑰由應用開發者持有. Android使用證書作爲標識應用程序作者的一種方式, 並在應用程序之間建立信任關係.

所有的Android應用都必須有數字簽名,沒有不存在數字簽名的應用,包括模擬器上運行的。Android系統不會安裝沒有數字證書的應用。簽名的數字證書不需要權威機構來認證,是開發者自己產生的數字證書,即所謂的自簽名。

簽名的方法。

二.Android簽名的意義

1、應用程序升級:如果你希望用戶無縫升級到新的版本,那麼你必須用同一個證書進行簽名。這是由於只有以同一個證書籤名,系統纔會允許安裝升級的應用程序。如果你採用了不同的證書,那麼系統會要求你的應用程序採用不同的包名稱,在這種情況下相當於安裝了一個全新的應用程序。如果想升級應用程序,簽名證書要相同,包名稱要相同!    2、應用程序模塊化:Android系統可以允許同一個證書籤名的多個應用程序在一個進程裏運行,系統實際把他們作爲一個單個的應用程序,此時就可以把我們的應用程序以模塊的方式進行部署,而用戶可以獨立的升級其中的一個模塊      3、代碼或者數據共享:Android提供了基於簽名的權限機制,那麼一個應用程序就可以爲另一個以相同證書籤名的應用程序公開自己的功能。以同一個證書對多個應用程序進行簽名,利用基於簽名的權限檢查,你就可以在應用程序間以安全的方式共享代碼和數據了。

4、在使用第三方服務時,有一些會使用到簽名來標識應用。比如微信開放平臺的接入就要用到簽名。只有你在微信開放平臺上的簽名和你的應用簽名一致並且包名一致時你才能調用微信提供的服務。(在使用此類第三方服務時一定要注意這一點)

三.Android簽名的時要注意的事項

1、在使用編輯器時,會默認生成一個數字證書,這樣我們纔可以再模擬器或者真機上調試我們應用,但是在版本發佈的時候必須生成我們自己的數字證書。

2、數字證書都是有有效期的,Android只是在應用程序安裝的時候纔會檢查證書的有效期。如果程序已經安裝在系統中,即使證書過期也不會影響程序的正常功能。

四.詳細過程(下面是用eclipse工具簽名的過程,此方法適用於Android1.5及以上版本。)

步驟一:打開Eclipse->選擇你要簽名的項目->右擊->android tools->Export signed Application package

步驟二,在出現的窗口確認是不是這個項目要簽名,然後選擇下一步:


步驟三:在Export Android Application 這一步,如果我們之前已有有了 keystore, 選擇我們之前已有的,否則我們新建一個。

如下,選擇需要保存這個證書文件的目錄,以及這個證書文件的一個密碼。


步驟四,點擊下一步後,我們需要填寫keystore的基本信息,如,別名,密碼,有效期,姓名,組織,組織名稱,所在城市,所在省份,國家等,點擊Next


步驟五、選擇被簽名後的APK保存位置。點擊finish。注意是選擇最終將產生的文件。


之後我們在剛纔選擇的目錄下就可以看到生成的簽名後的APK文件。下次簽名時直接使用我們己經生成的簽名。


提供兩個比較實用的工具

JKS文件查看器 可以查看數字證書裏面的詳細信息

http://download.csdn.net/detail/jason_2016/9539163

Gen_Signature_Android221cbf.apk 安裝在手機端可以通過包名獲取應用的簽名數據

http://download.csdn.net/detail/jason_2016/9539167


還有不明白的可以參考下面兩個博客:

http://blog.sina.com.cn/s/blog_69a4fbd70100rrio.html

http://blog.csdn.net/i_lovefish/article/details/19177131


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章