日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android应用程序签名详解

發布時間:2024/4/15 Android 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android应用程序签名详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、什么是簽名?
????? 如果這個問題不是放在Android開發中來問,如果是放在一個普通的版塊,我想大家都知道簽名的含義。可往往就是將一些生活中常用的術語放在計算機這種專業領域,大家就開始迷惑了。計算機所做的事情,或者說編程語言所做的事情,不正是在盡可能地模擬現實嗎?所以,計算機中所說的簽名和生活中所說的簽名在本質上是一樣的,它所起到的作用也是一致的!
????? 讓我們來看看,在現實生活中的簽名。比如下面這張圖片:
????????????
這是女星孫儷的簽名。簽名就意味著在紙上或別處寫下自己的名字,或者說在某處打上一個標記作為你自己的一種特有的標識,當別人看到這個簽名的時候,他會知道這是和你有關的,而不是其它人。

2、為什么要給Android應用程序簽名?
????? 如果只能用一句簡單的話語來回答這個問題的話,我會說:“這是Android系統所要求的”。
????? Android系統要求每一個Android應用程序必須要經過數字簽名才能夠安裝到系統中,也就是說如果一個Android應用程序沒有經過數字簽名,是沒有辦法安裝到系統中的!Android通過數字簽名來標識應用程序的作者和在應用程序之間建立信任關系,不是用來決定最終用戶可以安裝哪些應用程序。這個數字簽名由應用程序的作者完成,并不需要權威的數字證書簽名機構認證,它只是用來讓應用程序包自我認證的。

3、為什么我開發的Android應用程序沒有做什么簽名也能在模擬器和手機上運行?
????? 你沒有給Android應用程序簽名并不代表Android應用程序沒有被簽名。為了方便我們開發調試程序,ADT會自動的使用debug密鑰為應用程序簽名。debug密鑰?它在哪?debug密鑰是一個名為debug.keystore的文件,它的位置:
????????????系統盤符:/Documents and Settings/liufeng/.android/debug.keystore
liufeng”對應于你自己的windows操作系統用戶名,怎么樣,是不是已經找到它了。這也就意味著,如果我們想擁有自己的簽名,而不是讓ADT幫我們簽名的話,我們也要有一個屬于自己的密鑰文件(*.keystore)。

4、Android應用程序簽名步驟
1)準備工作
????? apk的簽名工作可以通過兩種方式來完成:
????????????1)通過ADT提供的圖形化界面完成apk簽名;
??????????? 2)完全通過DOS命令來完成apk簽名
我比較喜歡第2)種方式,所以下面將講解如何通過命令的方式完成apk簽名。
????? 給apk簽名一共要用到3個工具,或者說3個命令,分別是:keytool、jarsigner和zipalign,下面是對這3個工具的簡單介紹:
????????????1)keytool:生成數字證書,即密鑰,也就是上面說到的擴展名為.keystore的那類文件;
??????????? 2)jarsigner:使用數字證書給apk文件簽名;
??????????? 3)zipalign:對簽名后的apk進行優化,提高與Android系統交互的效率(Android SDK1.6版本開始包含此工具)

????? 從這3個工具的作用也可以看出,這3個工具的使用順序。通常我們自己所開發的所有應用程序,都是使用同樣的簽名,即使用同一個數字證書,這就意味著:如果你是第一次做Android應用程序簽名,上面的3個工具都將用到;但如果你已經有數字證書了,以后再給其它apk簽名時,只需要用到jarsigner和zipalign就可以完成。
????? 為了方便使用上面3個命令,首先需要將上面3個工具所在路徑添加到環境變量path中(我說的是為了方便使用,沒有說必須要這么做)。怎么配置環境變量就不在此講解了,這里需要說一下這3個工具默認所在的路徑:
????????????1)keytool:該工具位于jdk安裝路徑的bin目錄下;
??????????? 2)jarsigner:該工具位于jdk安裝路徑的bin目錄下;
??????????? 3)zipalign:該工具位于android-sdk-windows/tools/目錄下
????? 不知道大家是否注意到keytool和jarsigner兩個工具是jdk自帶的,也就意味著生成數字證書和文件簽名不是Android的專利;另外從字面上理解jarsigner也能猜得出該工具主要是用來給jar文件簽名的。
2)生成未經簽名的apk文件
????? 既然我們要自己對apk進行簽名,就不再需要ADT默認幫我們簽名了。如何得到一個未經簽名的apk文件呢?打開Eclipse,在Android工程名稱上點擊右鍵,依次選擇“Android Tools” - “Export Unsigned Application Package ...”,然后選擇一個存儲位置保存即可。這樣就得到了一個未經簽名的apk文件。
3)使用keytool工具生成數字證書
??????keytool -genkey -v?-keystore liufeng.keystore?-alias liufeng.keystore?-keyalg RSA -validity 20000
說明:
????? 1)keytool是工具名稱,-genkey意味著執行的是生成數字證書操作,-v表示將生成證書的詳細信息打印出來,顯示在dos窗口中;
????? 2)-keystore liufeng.keystore 表示生成的數字證書的文件名為“liufeng.keystore”;
????? 3)-alias liufeng.keystore 表示證書的別名為“liufeng.keystore”,當然可以不和上面的文件名一樣;
????? 4)-keyalg RSA?表示生成密鑰文件所采用的算法為RSA;
????? 5)-validity 20000 表示該數字證書的有效期為20000天,意味著20000天之后該證書將失效
在執行上面的命令生成數字證書文件時,會提示你輸入一些信息,包括證書的密碼,示例如下:
??????
4)使用jarsigner工具為Android應用程序簽名
??????jarsigner -verbose?-keystore liufeng.keystore?-signedjar notepad_signed.apk notepad.apk?liufeng.keystore
說明:
????? 1)jarsigner是工具名稱,-verbose表示將簽名過程中的詳細信息打印出來,顯示在dos窗口中;
????? 2)-keystore liufeng.keystore 表示簽名所使用的數字證書所在位置,這里沒有寫路徑,表示在當前目錄下;
????? 3)-signedjar notepad_signed.apk notepad.apk 表示給notepad.apk文件簽名,簽名后的文件名稱為notepad_signed.apk;
????? 4)最后面的liufeng.keystore 表示證書的別名,對應于生成數字證書時-alias參數后面的名稱
5)使用zipalign工具優化已簽名的apk(非必須但建議這么做)
??????zipalign -v 4 notepad_signed.apk notepad_signed_aligned.apk
說明:
????? 1)zipalign是工具名稱,-v表示在DOS窗口打印出詳細的優化信息;
????? 2)notepad_signed.apk notepad_signed_aligned.apk 表示對已簽名文件notepad_signed.apk進行優化,優化后的文件名為notepad_signed_aligned.apk

說明:如果你以前的程序是采用默認簽名的方式(即debug簽名),一旦換了新的簽名應用將不能覆蓋安裝,必須將原先的程序卸載掉,才能安裝上。因為程序覆蓋安裝主要檢查兩點:
????? 1)兩個程序的入口Activity是否相同。兩個程序如果包名不一樣,即使其它所有代碼完全一樣,也不會被視為同一個程序的不同版本;
????? 2)兩個程序所采用的簽名是否相同。如果兩個程序所采用的簽名不同,即使包名相同,也不會被視為同一個程序的不同版本,不能覆蓋安裝。
????? 另外,可能有人可能會認為反正debug簽名的應用程序也能安裝使用,那也沒有必要自己簽名了嘛。千萬不要這樣想,debug簽名的應用程序有這樣兩個限制,或者說風險:
????? 1)debug簽名的應用程序不能在Android Market上架銷售,它會強制你使用自己的簽名;
????? 2)debug.keystore在不同的機器上所生成的可能都不一樣,就意味著如果你換了機器進行apk版本升級,那么將會出現上面那種程序不能覆蓋安裝的問題。不要小視這個問題,如果你開發的程序只有你自己使用,當然無所謂,卸載再安裝就可以了。但要是你的軟件有很多使用客戶,這就是大問題了,就相當于軟件不具備升級功能!

總結

以上是生活随笔為你收集整理的Android应用程序签名详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 91av欧美| 五月激情久久 | 五月天婷婷在线观看 | av官网在线观看 | 天天干天天插天天操 | 超碰免费公开在线 | 全球av在线| 五月婷婷在线观看视频 | 久久yy | 欧美少妇在线 | 波多野吉衣一区二区三区 | 秋霞一区二区三区 | 久久久久久久香蕉 | 捆绑凌虐一区二区三区 | 西西午夜影院 | 操操网 | 国产91绿帽单男绿奴 | 成人在线观看免费视频 | 国产区91 | 综合视频一区 | 天天干天天摸天天操 | www视频在线观看网站 | 欧美日韩国产三级 | 国产欧美久久久精品免费 | 欧美精品日韩在线 | 操你啦影院 | 麻豆一区二区在线观看 | 在线免费看黄av | 成人精品毛片 | 国产自产一区二区 | 精品一区二区三区在线观看视频 | 亚洲成人午夜电影 | 国产调教在线观看 | 成人狠狠干 | 九九久久精品 | 日韩爱爱网 | 99精品视频免费在线观看 | 永久免费精品影视网站 | www.jizz国产| 亚洲av成人精品午夜一区二区 | 欧美精品高清 | 亚洲成人网在线 | 99国产精品久久久久久久成人 | 欧美性猛交ⅹxx乱大交 | 中文字幕在线播放一区 | 极品美女开粉嫩精品 | 户外少妇对白啪啪野战 | 欧美裸体网站 | 黄av资源| 日本特级片 | 婷婷国产成人精品视频 | 成人午夜视频在线 | 中文字字幕第183页 欧美特级一级片 | 刘玥91精选国产在线观看 | 亚洲破处视频 | 理论片中文 | 清冷学长被爆c躁到高潮失禁 | 日韩淫视频 | 国内黄色一级片 | 亚洲国产精品无码专区 | 女儿的朋友在线播放 | 天天摸天天 | 欧美第一页浮力影院 | 欧美a级片在线观看 | 国产婷婷色一区二区 | 国产精品麻豆成人av电影艾秋 | 人妻偷人精品一区二区三区 | 91久久精品夜夜躁日日躁欧美 | 国产精品免费网站 | 国产原创视频 | 五月天中文字幕在线 | 日b视频在线观看 | 亚洲国产欧美视频 | 亚洲福利视频一区二区三区 | 亚洲v欧美v另类v综合v日韩v | 国产精品你懂的 | 啪啪小视频 | 奇米影视在线视频 | 日韩在线免费av | 超碰99在线| 丰满饥渴老女人hd | 精品一区二区三区国产 | 国产专区在线 | 中国黄色在线视频 | 欧美绿帽合集xxxxx | 狠狠爱天天干 | 亚洲第一a | 久久99久久99精品中文字幕 | 豆花视频在线播放 | 欧美大片一级 | av免费在线不卡 | 在线免费观看中文字幕 | 欧美视频免费在线观看 | 黄色在线免费观看 | 美女超碰在线 | 日韩精品短片 | 亚洲精品无码久久久 | 日本老师巨大bbw丰满 | 污视频免费在线观看网站 |