小米應(yīng)用商店之應(yīng)用的簽名

來(lái)源: 小米開(kāi)放平臺(tái)
作者:小米開(kāi)放平臺(tái)
時(shí)間:2020-08-25
18248
本文檔介紹了應(yīng)用簽名的相關(guān)內(nèi)容,您可在了解文檔內(nèi)容后進(jìn)行操作。

本文檔介紹了應(yīng)用簽名的相關(guān)內(nèi)容,您可在了解文檔內(nèi)容后進(jìn)行操作。

一、什么是簽名?

簽名一詞來(lái)源于生活中常用的術(shù)語(yǔ),還記得刷信用卡會(huì)要求客戶(hù)簽名嗎?這個(gè)簽名的作用是確認(rèn)這筆消費(fèi)是本人經(jīng)手的。計(jì)算機(jī)中所說(shuō)的簽名和生活中所說(shuō)的簽名在本質(zhì)上是一樣的,它所起到的作用也是一致的!為App簽名的本質(zhì)是說(shuō)明這個(gè)App是我開(kāi)發(fā)的,不是別人。用官方的話(huà)說(shuō),就是在應(yīng)用和開(kāi)發(fā)者之間建立可信任的關(guān)聯(lián)。

二、為什么要給Android應(yīng)用程序簽名?

這樣做的根本原因是Android系統(tǒng)需要一個(gè)機(jī)制,保證以下幾點(diǎn):

1.拿到一個(gè)應(yīng)用的安裝包,能夠知道作者是誰(shuí)

2.當(dāng)應(yīng)用更新時(shí),能夠檢測(cè)是不是作者本人提交的

3.應(yīng)用中的部分文件遭到修改時(shí),能夠檢測(cè)到是否為作者本人做出的修改為了實(shí)現(xiàn)上述目的,Android就引入了簽名這種比較成熟的方法。

三、簽名與應(yīng)用商店有什么關(guān)系?

通過(guò)簽名的檢測(cè)和對(duì)比,應(yīng)用商店能夠從中識(shí)別到開(kāi)發(fā)者的信息,在下面的幾個(gè)場(chǎng)景中我們會(huì)依賴(lài)簽名:

1.應(yīng)用的認(rèn)領(lǐng)

2.每次應(yīng)用提交更新,確保是作者本人提交

3.當(dāng)有人試圖冒充作者提交應(yīng)用時(shí),應(yīng)用商店能夠阻止該行為

4.通過(guò)簽名黑名單,阻止惡意軟件作者提交應(yīng)用

5.關(guān)于簽名,我需要注意什么?

下面是你需要注意的要點(diǎn):

1.所有應(yīng)用程序必須簽名,未經(jīng)過(guò)簽名的程序不允許在模擬器或者設(shè)備上運(yùn)行;

2.測(cè)試和開(kāi)發(fā)階段,開(kāi)發(fā)工具會(huì)自動(dòng)生成一個(gè)debug key來(lái)為應(yīng)用簽名;

3.當(dāng)應(yīng)用準(zhǔn)備發(fā)布時(shí),你需要?jiǎng)?chuàng)建自己的release key來(lái)為應(yīng)用簽名,所需要的工具都包含在SDK tools中;

4.Android只在應(yīng)用安裝階段檢測(cè)簽名是否過(guò)期,如果簽名在應(yīng)用安裝后過(guò)期,應(yīng)用仍可以繼續(xù)正常使用;

5.你可以使用標(biāo)準(zhǔn)工具——keytool和jarsigner來(lái)生成秘鑰和為apk簽名;

6.簽名后,我們建議你使用zipalign工具來(lái)優(yōu)化apk包;

四、Android應(yīng)用程序簽名步驟

1.準(zhǔn)備工作

apk的簽名工作可以通過(guò)兩種方式來(lái)完成:

通過(guò)ADT提供的圖形化界面完成apk簽名;完全通過(guò)命令行來(lái)完成apk簽名;給apk簽名一共要用到3個(gè)工具,或者說(shuō)3個(gè)命令,分別是:keytool、jarsigner和zipalign,下面是對(duì)這3個(gè)工具的簡(jiǎn)單介紹:

keytool:生成數(shù)字證書(shū),即密鑰,也就是上面說(shuō)到的擴(kuò)展名為.keystore的那類(lèi)文件;jarsigner:使用數(shù)字證書(shū)給apk文件簽名;zipalign:對(duì)簽名后的apk進(jìn)行優(yōu)化,提高與Android系統(tǒng)交互的效率(Android SDK1.6版本開(kāi)始包含此工具);

從這3個(gè)工具的作用也可以看出,這3個(gè)工具的使用順序。通常我們自己所開(kāi)發(fā)的所有應(yīng)用程序,都是使用同樣的簽名,即使用同一個(gè)數(shù)字證書(shū),這就意味著:如果你是第一次做Android應(yīng)用程序簽名,上面的3個(gè)工具都將用到;但如果你已經(jīng)有數(shù)字證書(shū)了,以后再給其它apk簽名時(shí),只需要用到j(luò)arsigner和zipalign就可以完成。

2.使用keytool工具生成數(shù)字證書(shū)

keytool-genkey-v-keystore liufeng.keystore-alias liufeng.keystore-keyalg RSA-validity 20000說(shuō)明:

keytool是工具名稱(chēng),-genkey意味著執(zhí)行的是生成數(shù)字證書(shū)操作,-v表示將生成證書(shū)的詳細(xì)信息打印出來(lái),顯示在dos窗口中;

-keystore liufeng.keystore表示生成的數(shù)字證書(shū)的文件名為“l(fā)iufeng.keystore”;-alias liufeng.keystore表示證書(shū)的別名為“l(fā)iufeng.keystore”,當(dāng)然可以不和上面的文件名一樣;-keyalg RSA表示生成密鑰文件所采用的算法為RSA;-validity 20000表示該數(shù)字證書(shū)的有效期為20000天,意味著20000天之后該證書(shū)將失效

在執(zhí)行上面的命令生成數(shù)字證書(shū)文件時(shí),會(huì)提示你輸入一些信息,包括證書(shū)的密碼,示例如下:

3.使用jarsigner工具為Android應(yīng)用程序簽名

jarsigner-verbose-keystore liufeng.keystore-signedjar notepad_signed.apk notepad.apk liufeng.keystore說(shuō)明:

jarsigner是工具名稱(chēng),-verbose表示將簽名過(guò)程中的詳細(xì)信息打印出來(lái),顯示在dos窗口中;-keystore liufeng.keystore表示簽名所使用的數(shù)字證書(shū)所在位置,這里沒(méi)有寫(xiě)路徑,表示在當(dāng)前目錄下;-signedjar notepad_signed.apk notepad.apk表示給notepad.apk文件簽名,簽名后的文件名稱(chēng)為notepad_signed.apk;-liufeng.keystore(最后面的)表示證書(shū)的別名,對(duì)應(yīng)于生成數(shù)字證書(shū)時(shí)-alias參數(shù)后面的名稱(chēng);

4.使用zipalign工具優(yōu)化已簽名的apk(非必須但建議這么做)

zipalign-v 4 notepad_signed.apk notepad_signed_aligned.apk說(shuō)明:

zipalign是工具名稱(chēng),-v表示在DOS窗口打印出詳細(xì)的優(yōu)化信息;notepad_signed.apk notepad_signed_aligned.apk表示對(duì)已簽名文件notepad_signed.apk進(jìn)行優(yōu)化,優(yōu)化后的文件名為notepad_signed_aligned.apk

以上為應(yīng)用簽名的相關(guān)內(nèi)容。

立即登錄,閱讀全文
版權(quán)說(shuō)明:
本文內(nèi)容來(lái)自于小米開(kāi)放平臺(tái),本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個(gè)人觀點(diǎn),不代表快出海對(duì)觀點(diǎn)贊同或支持。如有侵權(quán),請(qǐng)聯(lián)系管理員(zzx@kchuhai.com)刪除!
相關(guān)文章
雙十一秘籍 | 11月米盟增收指南助你搶占電商大戰(zhàn)先機(jī)
雙十一秘籍 | 11月米盟增收指南助你搶占電商大戰(zhàn)先機(jī)
雙十一即將來(lái)臨,電商預(yù)算爭(zhēng)奪戰(zhàn)已經(jīng)打響!
小米開(kāi)發(fā)者
小米應(yīng)用商店
2024-10-182024-10-18
小米應(yīng)用商店關(guān)于《APP備案標(biāo)準(zhǔn)變更》的公告
小米應(yīng)用商店關(guān)于《APP備案標(biāo)準(zhǔn)變更》的公告
為了保護(hù)用戶(hù)權(quán)益,提升用戶(hù)體驗(yàn),根據(jù)《工業(yè)和信息化部關(guān)于開(kāi)展移動(dòng)互聯(lián)網(wǎng)應(yīng)用程序備案工作的通知》,小米應(yīng)用商店新增了APP備案包名與主辦單位的要求,以下是詳細(xì)內(nèi)容。
小米開(kāi)發(fā)者
小米應(yīng)用商店
2024-10-132024-10-13
App各大應(yīng)用商城的排名被哪些因素影響著?(小米/vivo篇)
App各大應(yīng)用商城的排名被哪些因素影響著?(小米/vivo篇)
小米應(yīng)用商店允許在后臺(tái)設(shè)置關(guān)鍵詞,8個(gè)關(guān)鍵詞,每個(gè)詞不超過(guò)5個(gè)字,權(quán)重從左到右逐漸降低。
App
小米應(yīng)用商店
應(yīng)用商店
2024-10-022024-10-02
米盟10月廣告增長(zhǎng)提效指南【附新功能預(yù)告】
米盟10月廣告增長(zhǎng)提效指南【附新功能預(yù)告】
國(guó)慶長(zhǎng)假即將拉開(kāi)序幕,7天長(zhǎng)假將帶來(lái)一波流量的高峰。小米廣告聯(lián)盟(以下簡(jiǎn)稱(chēng):米盟)為開(kāi)發(fā)者伙伴帶來(lái)了10月廣告增長(zhǎng)提效指南,內(nèi)含eCPM趨勢(shì)和預(yù)算分布預(yù)估、變現(xiàn)提效Tips、新功能爆料,助力開(kāi)發(fā)者伙伴在小長(zhǎng)假期間高效地把握預(yù)算節(jié)奏、提前精準(zhǔn)布局,實(shí)現(xiàn)量效雙贏!
小米開(kāi)發(fā)者
小米應(yīng)用商店
應(yīng)用商店
2024-10-012024-10-01
掃碼登錄
打開(kāi)掃一掃, 關(guān)注公眾號(hào)后即可登錄/注冊(cè)
加載中
二維碼已失效 請(qǐng)重試
刷新
賬號(hào)登錄/注冊(cè)
個(gè)人VIP
小程序
快出海小程序
公眾號(hào)
快出海公眾號(hào)
商務(wù)合作
商務(wù)合作
投稿采訪(fǎng)
投稿采訪(fǎng)
出海管家
出海管家