一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

Android學(xué)習(xí)系列(1)

 KentProgram 2016-03-14

寫博客是一種快樂,前提是你有所寫,與人分享,是另一種快樂,前提是你有舞臺(tái)展示,博客園就是這樣的舞臺(tái)。
這篇文章是android開發(fā)人員的必備知識(shí),是我特別為大家整理和總結(jié)的,不求完美,但是有用。

1.簽名的意義
  為了保證每個(gè)應(yīng)用程序開發(fā)商合法ID,防止部分開放商可能通過使用相同的Package Name來混淆替換已經(jīng)安裝的程序,我們需要對(duì)我們發(fā)布的APK文件進(jìn)行唯一簽名,保證我們每次發(fā)布的版本的一致性(如自動(dòng)更新不會(huì)因?yàn)榘姹静灰恢露鵁o法安裝)。

2.簽名的步驟
  a.創(chuàng)建key
  b.使用步驟a中產(chǎn)生的key對(duì)apk簽名

3.具體操作

  方法一: 命令行下對(duì)apk簽名(原理)
  創(chuàng)建key,需要用到keytool.exe (位于jdk1.6.0_24\jre\bin目錄下),使用產(chǎn)生的key對(duì)apk簽名用到的是jarsigner.exe (位于jdk1.6.0_24\bin目錄下),把上兩個(gè)軟件所在的目錄添加到環(huán)境變量path后,打開cmd輸入

D:\>keytool -genkey -alias demo.keystore -keyalg RSA -validity 40000 -keystore demo.keystore
/*說明:-genkey 產(chǎn)生密鑰
       -alias demo.keystore 別名 demo.keystore
       -keyalg RSA 使用RSA算法對(duì)簽名加密
       -validity 40000 有效期限4000天
       -keystore demo.keystore */
D:\>jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore
/*說明:-verbose 輸出簽名的詳細(xì)信息
       -keystore  demo.keystore 密鑰庫位置
       -signedjar demor_signed.apk demo.apk demo.keystore 正式簽名,三個(gè)參數(shù)中依次為簽名后產(chǎn)生的文件demo_signed,要簽名的文件demo.apk和密鑰庫demo.keystore.*/

  注意事項(xiàng):android工程的bin目錄下的demo.apk默認(rèn)是已經(jīng)使用debug用戶簽名的,所以不能使用上述步驟對(duì)此文件再次簽名。正確步驟應(yīng)該是:在工程點(diǎn)擊右鍵->Anroid Tools-Export Unsigned Application Package導(dǎo)出的apk采用上述步驟簽名。

  方法二:使用Eclipse導(dǎo)出帶簽名的apk
  Eclipse直接能導(dǎo)出帶簽名的最終apk,非常方便,推薦使用,步驟如下:
  第一步:導(dǎo)出。
 
  第二步:創(chuàng)建密鑰庫keystore,輸入密鑰庫導(dǎo)出位置和密碼,記住密碼,下次Use existing keystore會(huì)用到。
 
  第三步:填寫密鑰庫信息,填寫一些apk文件的密碼,使用期限和組織單位的信息。

  第四步:生成帶簽名的apk文件,到此就結(jié)束了。

  第五步:如果下次發(fā)布版本的時(shí)候,使用前面生成的keystore再簽名。


  第六步:Next,Next,結(jié)束!

  方法三:使用IntelliJ IDEA導(dǎo)出帶簽名的apk 
  
方法步驟基本和Eclipse相同,大概操作路徑是:菜單Tools->Andrdoid->Export signed apk。

4.簽名之后,用zipalign(壓縮對(duì)齊)優(yōu)化你的APK文件。
  未簽名的apk不能使用,也不能優(yōu)化。簽名之后的apk谷歌推薦使用zipalign.exe(位于android-sdk-windows\tools目錄下)工具對(duì)其優(yōu)化:

D:\>zipalign -v 4 demo_signed.apk final.apk

  如上,zipalign能夠使apk文件中未壓縮的數(shù)據(jù)在4個(gè)字節(jié)邊界上對(duì)齊(4個(gè)字節(jié)是一個(gè)性能很好的值),這樣android系統(tǒng)就可以使用mmap()(請(qǐng)自行查閱這個(gè)函數(shù)的用途)函數(shù)讀取文件,可以在讀取資源上獲得較高的性能,
  PS:1.在4個(gè)字節(jié)邊界上對(duì)齊的意思就是,一般來說,是指編譯器吧4個(gè)字節(jié)作為一個(gè)單位來進(jìn)行讀取的結(jié)果,這樣的話,CPU能夠?qū)ψ兞窟M(jìn)行高效、快速的訪問(較之前不對(duì)齊)。
          2.對(duì)齊的根源:android系統(tǒng)中的Davlik虛擬機(jī)使用自己專有的格式DEX,DEX的結(jié)構(gòu)是緊湊的,為了讓運(yùn)行時(shí)的性能更好,可以進(jìn)一步用"對(duì)齊"進(jìn)一步優(yōu)化,但是大小一般會(huì)有所增加。

5.簽名對(duì)你的App的影響。
   你不可能只做一個(gè)APP,你可能有一個(gè)宏偉的戰(zhàn)略工程,想要在生活,服務(wù),游戲,系統(tǒng)各個(gè)領(lǐng)域都想插足的話,你不可能只做一個(gè)APP,谷歌建議你把你所有的APP都使用同一個(gè)簽名證書。
   使用你自己的同一個(gè)簽名證書,就沒有人能夠覆蓋你的應(yīng)用程序,即使包名相同,所以影響有:
  1) App升級(jí)。 使用相同簽名的升級(jí)軟件可以正常覆蓋老版本的軟件,否則系統(tǒng)比較發(fā)現(xiàn)新版本的簽名證書和老版本的簽名證書不一致,不會(huì)允許新版本安裝成功的。
  2) App模塊化。android系統(tǒng)允許具有相同的App運(yùn)行在同一個(gè)進(jìn)程中,如果運(yùn)行在同一個(gè)進(jìn)程中,則他們相當(dāng)于同一個(gè)App,但是你可以單獨(dú)對(duì)他們升級(jí)更新,這是一種App級(jí)別的模塊化思路。
  3) 允許代碼和數(shù)據(jù)共享。android中提供了一個(gè)基于簽名的Permission標(biāo)簽。通過允許的設(shè)置,我們可以實(shí)現(xiàn)對(duì)不同App之間的訪問和共享,如下:

AndroidManifest.xml:<permission android:protectionLevel="normal" />

其中protectionLevel標(biāo)簽有4種值:normal(缺省值),dangerous, signature,signatureOrSystem。簡(jiǎn)單來說,normal是低風(fēng)險(xiǎn)的,所有的App不能訪問和共享此App。dangerous是高風(fēng)險(xiǎn)的,所有的App都能訪問和共享此App。signature是指具有相同簽名的App可以訪問和共享此App。signatureOrSystem是指系統(tǒng)image中App和具有相同簽名的App可以訪問和共享此App,谷歌建議不要使用這個(gè)選項(xiàng),因?yàn)楹灻妥銐蛄耍话氵@個(gè)許可會(huì)被用在在一個(gè)image中需要共享一些特定的功能的情況下。
  最后,請(qǐng)一定要記得保管好你的簽名證書的兩個(gè)密碼,兩個(gè)密碼都不要告訴任何人,也不要把你的密鑰庫拷貝給別人,包括我! 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    欧美久久一区二区精品| 亚洲视频一级二级三级| 扒开腿狂躁女人爽出白浆av| 国产女优视频一区二区| 日本本亚洲三级在线播放| 欧美国产精品区一区二区三区| 少妇一区二区三区精品| 中文字幕91在线观看| 香港国产三级久久精品三级| 午夜福利直播在线视频| 亚洲欧美日韩在线中文字幕| 午夜视频在线观看日韩| 国产一区二区三区草莓av| 亚洲最新的黄色录像在线| 日韩中文高清在线专区| 99国产精品国产精品九九| 欧美一区二区三区不卡高清视| 又色又爽又黄的三级视频| 中文字幕人妻一区二区免费| 高清一区二区三区不卡免费| 国产欧美性成人精品午夜| 好吊日成人免费视频公开| 国产色偷丝袜麻豆亚洲| 91人人妻人人爽人人狠狠| 精品一区二区三区乱码中文| 久久亚洲午夜精品毛片| 大尺度剧情国产在线视频| 国产老熟女乱子人伦视频| 久久福利视频这里有精品| 色一欲一性一乱—区二区三区| 亚洲欧美国产网爆精品| 国产三级不卡在线观看视频| 自拍偷拍福利视频在线观看| 在线日韩欧美国产自拍| 国产成人免费高潮激情电| 午夜久久精品福利视频| 亚洲欧美日本成人在线| 中文字幕中文字幕在线十八区 | 亚洲中文字幕在线视频频道| 久久偷拍视频免费观看| 欧美日韩一区二区三区色拉拉|