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

歡迎訪問 生活随笔!

生活随笔

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

Android

android软件更新模块实现的技术和方法,Android APK签名原理及方法

發布時間:2025/3/20 Android 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android软件更新模块实现的技术和方法,Android APK签名原理及方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一 Android簽名機制及原理

Android系統在安裝APK的時候,首先會檢驗APK的簽名,如果發現簽名文件不存在或者校驗簽名失敗,則會拒絕安裝,所以應用程序在發布之前一定要進行簽名。給APK簽名可以帶來以下好處:

應用程序升級

如果想無縫升級一個應用,Android系統要求應用程序的新版本與老版本具有相同的簽名與包名。若包名相同而簽名不同,系統會拒絕安裝新版應用。

應用程序模塊化

Android系統可以允許同一個證書簽名的多個應用程序在一個進程里運行,系統實際把他們作為一個單個的應用程序。此時就可以把我們的應用程序以模塊的方式進行部署,而用戶可以獨立的升級其中的一個模塊。

代碼或數據共享

Android提供了基于簽名的權限機制,一個應用程序可以為另一個以相同證書簽名的應用程序公開自己的功能與數據,同時其它具有不同簽名的應用程序不可訪問相應的功能與數據。

應用程序的可認定性

簽名信息中包含有開發者信息,在一定程度上可以防止應用被偽造。例如網易云加密對Android APK加殼保護中使用的“校驗簽名(防二次打包)”功能就是利用了這一點。

簽名原理

對一個APK文件簽名之后,APK文件根目錄下會增加META-INF目錄,該目錄下增加三個文件:

MANIFEST.MF

NETEASE.RSA

NETEASE.SF

其中.RSA文件還可能是.DSA文件,RSA與SF文件的文件名可以更改,但是它們的命名必須一樣。

MANIFEST.MF中保存了APK里所有文件的SHA1校驗值的BASE64編碼,格式如下(一個文件對應一條記錄):

Name: res/anim/abc_fade_in.xml

SHA1-Digest: ohPEA4mboaFUu9LZMUwk7FmjbPI=

Name: res/anim/abc_fade_out.xml

SHA1-Digest: MTJWZc22b5LNeBboqBhxcQh5xHQ=

SF文件里保存了MANIFEST.MF文件的SHA1校驗值的BASE64編碼,同時還保存了MANIFEST.MF中每一條記錄的SHA1檢驗值BASE64編碼,格式如下:

SHA1-Digest-Manifest: ZRhh1HuaoEKMn6o21W1as0sMlaU=

Name: res/anim/abc_fade_in.xml

SHA1-Digest: wE1QEZhFkLBWMw4TRtxPdsiMRtA=

Name: res/anim/abc_fade_out.xml

SHA1-Digest: MfCV1efdxSKtesRMF81I08Zyvvo=

RSA文件則包含了簽名的公鑰、簽名所有者等信息,還保存了http://my.oschina.net/u/816213/blog/685762?fromerr=RSS3IhKo用SHA1withRSA簽名算法對SF文件的簽名結果信息。

Android系統就是根據這三個文件的內容對APK文件進行簽名檢驗的。

二 Android 簽名方法

1、apksign、jarsinger

一般的簽名過程可以由apksign.jar或者jarsinger.jar完成。apksign.jar由Android SDK提供,使用方法如下:

java -jar signapk.jar testkey.x509.pem testkey.pk8 update.apk update_signed.apk

它接受一個PEM公鑰文件,PK8私鑰文件,對update.apk進行簽名,簽名后的文件保存到update_signed.apk。

jarsinger是由JDK提供,使用方法如下:

jarsigner -verbose -keystore d:\\debug.keystore -signedjar update_signed.apk update.apk androiddebugkey -digestalg SHA1 -sigalg MD5withRSA -keypass android -storepass android

其中:

-keystore表示keystore文件的路徑

androiddebugkey 表示keystore中的一個別名

-digestalg表示摘要算法

-sigalg 表示簽名算法

-keypass 表示別名密碼

-storepass表示keystore密碼

經過測試,發現以上兩個傳統的簽名工具存在以下缺點:

1)、jarsigner在對一個已經有META-INF目錄的APK進行簽名的時候,有可能會報錯:

jarsigner: 無法對 jar 進行簽名: java.util.zip.ZipException: invalid entry compressed size (expected 1368 but got 1379 bytes)

2)、如果APK中已經有簽名文件且簽名文件中的RSA(或DSA)、SF文件的命名不是CERT的時候,用這兩個簽名工具進行簽名后,會出現:

META-INF目錄下會有兩個RSA/SF文件,會導致APK在安裝的時候失敗。

3)、簽名花費時間長。這兩個簽名工具在生成簽名后的APK時,是按Zip中一個entry接一個entry 依次拷貝的,效率十分低。因為游戲類型APK類文件數量一般比較多,所以這一缺陷在簽名游戲類型APK時,體現得尤為明顯。

2、極速簽名工具(ApkSinger)

極速簽名工具克服了signapk.jar與jarsigner在簽名過程的缺點,使用方法:

java -jar ApkSigner.jar [-appname test] -keystore keystorePath -alias alias [-pswd password] [-aliaspswd aliasPassword] apkPath(or directory)

-appname 待簽名的應用程序名,可選,但建議不同的APP填上對應的app名

-keystore 后跟.keystore簽名文件

-alias 后跟簽名別名

-pswd 后跟對應簽名的密碼,可選,如果不填,則簽名的時候需要手動輸入

-aliaspswd 對應別名alias的密碼,如果沒有則默認使用keystore Password

最后跟待簽名的APK路徑或者目錄路徑 ,如果跟的是目錄則是批量簽名.

總結

以上是生活随笔為你收集整理的android软件更新模块实现的技术和方法,Android APK签名原理及方法的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 女人洗澡一级特黄毛片 | 久久久久久久成人 | 综合久久伊人 | 日韩福利社 | 欧美精品一区二区三区蜜臀 | 久草老司机 | 好吊色网站 | 农村村妇真实偷人视频 | 在线免费观看一区二区三区 | 亚洲人在线播放 | 裸体的日本在线观看 | 少妇搡bbbb搡bbbb | 另类av小说 | 白白色在线观看 | 女同一区二区三区 | 国产精品久久久久桃色tv | jizz欧美大片| 免费色片网站 | 五月六月丁香 | 无码任你躁久久久久久老妇 | 亚洲最大福利视频网 | 久久网中文字幕 | 亚洲人视频 | 天天操天天爽天天射 | 狠狠干天天操 | 亚洲精品粉嫩小泬20p | 三上悠亚ed2k | 高清视频在线免费观看 | 绿帽av | 欧美一区二区免费视频 | jzzijzzij亚洲成熟少妇18 欧美www在线观看 | 日本中文一区 | 亚洲综合小说 | 一区视频在线 | 亚洲白浆| 二级黄色片 | 精品国产美女 | 亚洲视频五区 | 后入内射欧美99二区视频 | 贵族女沦为官妓h呻吟 | 日本不卡一 | 久久九色 | 电影一区二区三区 | 免费男女乱淫真视频免费播放 | 日韩精品在线网站 | 国产高潮又爽又无遮挡又免费 | 黄色小视频链接 | 日韩一片| 中文字幕永久免费 | 国产精品二区一区二区aⅴ 一卡二卡三卡在线观看 | 亚洲色图清纯唯美 | 亚洲av久久久噜噜噜熟女软件 | 成人免费毛片观看 | 午夜毛片视频 | 亚洲av无码专区首页 | 亚洲视频日韩 | 亚洲一区二区三区不卡视频 | 综合第一页 | av有声小说一区二区三区 | 丝袜理论片在线观看 | 潘金莲一级淫片aaaaa | 哪里可以免费看毛片 | www.成人av | 亚洲一卡二卡三卡四卡 | 欧美一区二区三区免费看 | 精彩毛片| 亚洲男人天堂2017 | 久草成人在线 | 无码一区二区三区免费视频 | 91午夜交换视频 | 亚洲国产精品无码久久久 | 处女朱莉第一次 | 日韩综合网站 | 日本一二三区不卡 | xxxx久久 | 大地资源二中文在线影视免费观看 | 性涩av | 在线看片一区二区 | 中国黄色1级片 | 三年中文在线观看免费观看 | 久操网站| www.555国产精品免费 | 中国爆后菊女人的视频 | 久久怡红院 | 一二三区视频 | www久久久久久 | av成人在线观看 | 久久婷婷五月综合 | 国产精品一区二区三区在线免费观看 | xxxxwwww国产 | 韩国特级毛片 | 久久99精品久久只有精品 | 亚洲五月婷婷 | 国产精品jizz | 全肉的吸乳文 | 国产又色又爽又高潮免费 | 美女高潮网站 | 国产又粗又猛视频 | 国产高清精品软件丝瓜软件 |