欧美一线不卡在线播放,香蕉视频在线免费,亚洲国产精品久久久久秋霞影院,www.kksebo.com,aⅴ一区二区三区无卡无码,日韩成人免费一级毛片,可以免费观看的一级片

Android Apk去簽名、重新簽名的方法

時(shí)間:2024-07-21 19:54:36 簽名 我要投稿
  • 相關(guān)推薦

Android Apk去簽名、重新簽名的方法

  Android開發(fā)中很重要的一部就是用自己的密鑰給Apk文件簽名,不經(jīng)過簽名的Apk文件一般是無(wú)法安裝的,就算裝了最后也是失敗。

Android Apk去簽名、重新簽名的方法

  網(wǎng)上流傳的“勾選允許安裝未知來(lái)源的應(yīng)用”其實(shí)跟簽不簽名沒啥關(guān)系,說(shuō)白了就是允許安裝不從電子市場(chǎng)上下載的應(yīng)用而已。

  近幾日需要修改一個(gè)Apk中JNI調(diào)用的.so文件,苦于沒有apk源代碼,只好研究了一下簽名相關(guān)的問題。當(dāng)然有很多第三方工具可以做到,但其實(shí)JDK中已經(jīng)提供了強(qiáng)大的簽名工具jarsigner。

  1.去除簽名

  其實(shí)很簡(jiǎn)單,用WinRAR打開apk,找到META-INF文件夾,刪除MANIFEST.MF之外的所有其他文件即可。

  2.簽名

  運(yùn)行jarsigner,如果沒有設(shè)置PATH環(huán)境變量,那可以從JDK安裝路徑下的bin目錄中找到,比如我本機(jī)的就是C:Program FilesJavajdk1.8.0_31binjarsigner.exe

  jarsigner用法如下:

  用法: jarsigner [選項(xiàng)] jar-file 別名 jarsigner -verify [選項(xiàng)] jar-file [別名...][-keystore] 密鑰庫(kù)位置[-storepass <口令>] 用于密鑰庫(kù)完整性的口令[-storetype <類型>] 密鑰庫(kù)類型[-keypass <口令>] 私有密鑰的口令 (如果不同)[-certchain <文件>] 替代證書鏈文件的名稱[-sigfile <文件>] .SF/.DSA 文件的名稱[-signedjar <文件>] 已簽名的 JAR 文件的名稱[-digestalg <算法>] 摘要算法的名稱[-sigalg <算法>] 簽名算法的名稱[-verify] 驗(yàn)證已簽名的 JAR 文件[-verbose[:suboptions]] 簽名/驗(yàn)證時(shí)輸出詳細(xì)信息。 子選項(xiàng)可以是 all, grouped 或 summary[-certs] 輸出詳細(xì)信息和驗(yàn)證時(shí)顯示證書[-tsa] 時(shí)間戳頒發(fā)機(jī)構(gòu)的位置[-tsacert <別名>] 時(shí)間戳頒發(fā)機(jī)構(gòu)的公共密鑰證書[-tsapolicyid] 時(shí)間戳頒發(fā)機(jī)構(gòu)的 TSAPolicyID[-altsigner <類>] 替代的簽名機(jī)制的類名[-altsignerpath <路徑列表>] 替代的簽名機(jī)制的位置[-internalsf] 在簽名塊內(nèi)包含 .SF 文件[-sectionsonly] 不計(jì)算整個(gè)清單的散列[-protected] 密鑰庫(kù)具有受保護(hù)驗(yàn)證路徑[-providerName <名稱>] 提供方名稱[-providerClass <類> 加密服務(wù)提供方的名稱 [-providerArg <參數(shù)>]]... 主類文件和構(gòu)造器參數(shù)[-strict] 將警告視為錯(cuò)誤

  比較常用的參數(shù)就是指定keystore的位置和簽名后的文件,舉例如下:

  jarsigner -keystore C:myKey.key -signedjar apk-signed.apk apk-unsigned.apk myKey

  待簽名的文件是apk-unsigned.apk,簽名后的apk是apk-signed.apk。我們也可以不指定-signedjar參數(shù),則在待簽名的apk上直接簽名。最后一個(gè)myKey是我的keystore的別名。

  簽名完成后再用WinRAR打開,會(huì)發(fā)現(xiàn)META-INF目錄下多了MYKEY.RSA和MYKEY.SF兩個(gè)文件,他們分別是:

  MANIFEST.MF中保存了所有其他文件的SHA-1并base64編碼后的值。

  MYKEY.SF中也有其他文件的SHA-1并base64編碼的值,而且還多一個(gè)MANIFEST.MF文件的SHA-1并base64編碼后的值

  MYKEY.RSA包含了公鑰信息和發(fā)布機(jī)構(gòu)信息

  后兩個(gè)文件的名稱和我的key別名轉(zhuǎn)換為大寫后一致。

  關(guān)于如何生成本機(jī)的keystore就不再贅述了,在AndroidStudio和Eclipse中都有相應(yīng)的工具,圖形界面,so easy。

【Android Apk去簽名、重新簽名的方法】相關(guān)文章:

表示心煩的心情簽名大去傷心句子08-27

戰(zhàn)隊(duì)的個(gè)性簽名_簽名08-12

經(jīng)典簽名精選07-04

郁悶的個(gè)性簽名,郁悶的簽名10-22

早安個(gè)性簽名 早安的個(gè)性簽名06-23

青春一去不復(fù)返個(gè)性簽名最新匯總11-10

英文愛情個(gè)性簽名,關(guān)于英文的愛情個(gè)性簽名-個(gè)性簽名04-18

悲情的簽名07-25

經(jīng)典情話簽名07-05

心煩的簽名08-07

宁海县| 宁津县| 湖南省| 绥阳县| 北碚区| 新营市| 阿拉善右旗| 华阴市| 泗阳县| 宝鸡市| 乐山市| 西安市| 来宾市| 淮北市| 永宁县| 曲周县| 五原县| 大港区| 岳阳市| 通海县| 东光县| 淮滨县| 广元市| 金寨县| 平江县| 东至县| 习水县| 扶风县| 荆州市| 社旗县| 桐梓县| 吉林省| 炉霍县| 乌审旗| 株洲县| 胶州市| 耿马| 西华县| 太康县| 井冈山市| 大宁县|