亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

android應用簽名詳細步驟

2020-04-11 11:53:17
字體:
來源:轉載
供稿:網友

1、準備工作
apk的簽名工作可以通過兩種方式來完成:

1)通過ADT提供的圖形化界面完成apk簽名;
右鍵項目――》 Android Tools ――》Export Signed Application Package... ――》 打開圖形界面
2)完全通過shell/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中(我說的是為了方便使用,沒有說必須要這么做)。怎么配置環境變量請參見我先前的博客(Windows 或 Ubuntu),這里需要說一下這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 it-homer.keystore -alias it-homer.keystore -keyalg RSA -validity 20000

說明:
1)keytool是工具名稱,-genkey意味著執行的是生成數字證書操作,-v表示將生成證書的詳細信息打印出來,顯示在dos窗口中;
2)-keystore  it-homer.keystore 表示生成的數字證書的文件名為“ it-homer.keystore”;
3)-alias  it-homer.keystore 表示證書的別名為“ it-homer.keystore”,當然可以不和上面的文件名一樣;
4)-keyalg RSA 表示生成密鑰文件所采用的算法為RSA;
5)-validity 20000 表示該數字證書的有效期為20000天,意味著20000天之后該證書將失效
在執行上面的命令生成數字證書文件時,會提示你輸入一些信息,包括證書的密碼,示例如下:

4、使用jarsigner工具為Android應用程序簽名

復制代碼 代碼如下:

jarsigner -verbose -keystore  it-homer.keystore -signedjar notepad_signed.apk notepad.apk  it-homer.keystore

說明:
1)jarsigner是工具名稱,-verbose表示將簽名過程中的詳細信息打印出來,顯示在dos窗口中;
2)-keystore  it-homer.keystore 表示簽名所使用的數字證書所在位置,這里沒有寫路徑,表示在當前目錄下;
3)-signedjar notepad_signed.apk notepad.apk 表示給notepad.apk文件簽名,簽名后的文件名稱為notepad_signed.apk;
4)最后面的 it-homer.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版本升級,那么將會出現上面那種程序不能覆蓋安裝的問題。不要小視這個問題,如果你開發的程序只有你自己使用,當然無所謂,卸載再安裝就可以了。但要是你的軟件有很多使用客戶,這就是大問題了,就相當于軟件不具備升級功能!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
色婷婷久久av| 欧美最顶级丰满的aⅴ艳星| 亚洲国产成人精品女人久久久| 久久在线观看视频| 日韩欧美国产视频| 欧美一二三视频| 欧美黑人视频一区| 亲爱的老师9免费观看全集电视剧| 狠狠色狠狠色综合日日小说| 欧美大码xxxx| 久久久久久久成人| 亚洲欧美激情一区| 欧美日韩在线视频一区二区| 中文字幕亚洲色图| 欧美高跟鞋交xxxxhd| 国产在线观看不卡| 久久99国产综合精品女同| 国产成人黄色av| 亚洲丁香久久久| 久久久电影免费观看完整版| 国产国产精品人在线视| 国产亚洲综合久久| 在线观看日韩视频| 亚洲在线免费视频| 欧洲中文字幕国产精品| 久久91精品国产| 国产日韩换脸av一区在线观看| 91精品国产高清久久久久久久久| 亚洲精品电影网站| 尤物精品国产第一福利三区| 国产精品亚发布| 精品久久久精品| 欧美视频第一页| 亚洲久久久久久久久久久| 久久精品国产亚洲精品| 亚洲欧美日韩精品久久亚洲区| 国产午夜精品视频| www日韩中文字幕在线看| 欧美日韩福利视频| 日韩视频免费在线观看| 91视频免费在线| 日韩电影大全免费观看2023年上| 久久久亚洲天堂| 黑人极品videos精品欧美裸| 国产精品男女猛烈高潮激情| 欧美精品久久久久久久久| 日韩电影在线观看中文字幕| 黑人精品xxx一区| 日韩精品在线私人| 日韩成人av网址| 亚洲视频777| 国产精品狠色婷| 国产一区二区三区高清在线观看| 亚洲高清av在线| 亚洲国产精品字幕| 国产精品丝袜高跟| 91av中文字幕| 亚洲福利在线视频| 亚洲成**性毛茸茸| 免费成人高清视频| 中文字幕久久亚洲| 91精品久久久久久久久中文字幕| 亚洲国产精品网站| 欧美激情亚洲综合一区| 日韩av免费观影| 久久久久久久久国产精品| 日韩欧美在线中文字幕| 一本一本久久a久久精品牛牛影视| 国产精品精品视频一区二区三区| 日韩精品有码在线观看| 欧美日韩成人在线播放| 亚洲2020天天堂在线观看| 国产精品国产三级国产aⅴ9色| 中文字幕一区二区三区电影| 国产成人亚洲综合91| 98视频在线噜噜噜国产| 亚洲欧美在线x视频| 亚洲高清一二三区| 日韩最新免费不卡| 亚洲国产精品一区二区久| 久久久久久久久久久久av| 欧美日韩不卡合集视频| 色婷婷综合久久久久| 欧美日韩激情视频8区| 97视频在线观看免费高清完整版在线观看| 亚洲字幕在线观看| 国产精品一区二区久久国产| 欧美激情第三页| 91在线视频导航| 欧美性生活大片免费观看网址| 国产欧美精品在线播放| 亚洲欧美三级在线| 欧美激情亚洲一区| 91产国在线观看动作片喷水| 最近2019中文字幕在线高清| 97久久精品国产| 亚洲国产91精品在线观看| 久久久久久久影院| 国产日本欧美在线观看| 国产精品午夜视频| 美女福利视频一区| 在线免费看av不卡| 欧美日韩国产成人| 国产美女高潮久久白浆| 亚洲一区中文字幕在线观看| 日韩精品有码在线观看| 69视频在线免费观看| 亚洲成成品网站| 亚洲成人三级在线| 日韩在线观看你懂的| 欧美老少配视频| 国产成人久久久| 97国产在线视频| 欧美在线视频一二三| 亚洲自拍偷拍网址| 成人免费视频网址| 欧美xxxx做受欧美.88| 美女999久久久精品视频| 日本久久久久久久| 久久综合久中文字幕青草| 国产成人精品在线视频| 96国产粉嫩美女| 精品久久久香蕉免费精品视频| 黑人狂躁日本妞一区二区三区| 欧美激情视频免费观看| 国产精品高清在线观看| 亚洲精品永久免费| 国产精品日韩欧美| 黄色一区二区三区| 欧美天堂在线观看| 国产国产精品人在线视| 欧美精品成人在线| 一本久久综合亚洲鲁鲁| 久久久国产精品x99av| 亚洲图片欧洲图片av| 5278欧美一区二区三区| 日本精品一区二区三区在线播放视频| 国产欧美日韩高清| 日韩av日韩在线观看| 久久精品色欧美aⅴ一区二区| 亚洲一区二区三区sesese| 亚洲国产精品成人一区二区| 国产精品网站视频| 一区二区三区视频免费| 成人免费网视频| 国产日产欧美精品| 亚洲色图狂野欧美| 亚洲一区二区中文字幕| 亚洲欧美日韩直播| 国产区精品在线观看| 操人视频在线观看欧美| 91极品视频在线| 久久久久久综合网天天| 亚洲精品视频网上网址在线观看| 欧美视频二区36p| 久久人人97超碰精品888| 欧美高清在线播放| 在线日韩欧美视频| 懂色aⅴ精品一区二区三区蜜月| 中文字幕视频在线免费欧美日韩综合在线看| 欧美极品少妇xxxxⅹ裸体艺术| 亚洲缚视频在线观看| 欧美成人网在线| 久久国产加勒比精品无码|