欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android Apk去掉簽名以及重新簽名的方法

 更新時間:2016年12月03日 09:44:43   作者:Pleiades  
這篇文章主要介紹了Android Apk去掉簽名以及重新簽名的方法的相關(guān)資料,Android開發(fā)中很重要的一部就是用自己的密鑰給Apk文件簽名,需要的朋友可以參考下

Android Apk去掉簽名以及重新簽名的方法

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

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

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

1.去除簽名

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

2.簽名

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

jarsigner用法如下:

用法: jarsigner [選項] jar-file 別名
    jarsigner -verify [選項] jar-file [別名...]

[-keystore <url>]      密鑰庫位置

[-storepass <口令>]     用于密鑰庫完整性的口令

[-storetype <類型>]     密鑰庫類型

[-keypass <口令>]      私有密鑰的口令 (如果不同)

[-certchain <文件>]     替代證書鏈文件的名稱

[-sigfile <文件>]      .SF/.DSA 文件的名稱

[-signedjar <文件>]     已簽名的 JAR 文件的名稱

[-digestalg <算法>]    摘要算法的名稱

[-sigalg <算法>]      簽名算法的名稱

[-verify]          驗證已簽名的 JAR 文件

[-verbose[:suboptions]]   簽名/驗證時輸出詳細信息。
              子選項可以是 all, grouped 或 summary

[-certs]          輸出詳細信息和驗證時顯示證書

[-tsa <url>]        時間戳頒發(fā)機構(gòu)的位置

[-tsacert <別名>]      時間戳頒發(fā)機構(gòu)的公共密鑰證書

[-tsapolicyid <oid>]    時間戳頒發(fā)機構(gòu)的 TSAPolicyID

[-altsigner <類>]      替代的簽名機制的類名

[-altsignerpath <路徑列表>] 替代的簽名機制的位置

[-internalsf]        在簽名塊內(nèi)包含 .SF 文件

[-sectionsonly]       不計算整個清單的散列

[-protected]        密鑰庫具有受保護驗證路徑

[-providerName <名稱>]   提供方名稱

[-providerClass <類>    加密服務(wù)提供方的名稱
 [-providerArg <參數(shù)>]]... 主類文件和構(gòu)造器參數(shù)

[-strict]          將警告視為錯誤

比較常用的參數(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上直接簽名。最后一個myKey是我的keystore的別名。

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

MANIFEST.MF中保存了所有其他文件的SHA-1并base64編碼后的值。
MYKEY.SF中也有其他文件的SHA-1并base64編碼的值,而且還多一個MANIFEST.MF文件的SHA-1并base64編碼后的值
MYKEY.RSA包含了公鑰信息和發(fā)布機構(gòu)信息

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

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

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • 安卓(Android)中如何實現(xiàn)滑動導航

    安卓(Android)中如何實現(xiàn)滑動導航

    導航是移動應(yīng)用最重要的方面之一,對用戶體驗是良好還是糟糕起著至關(guān)重要的作用。好的導航可以讓一款應(yīng)用更加易用并且讓用戶快速上手。相反,糟糕的應(yīng)用導航很容易讓人討厭,并遭到用戶的拋棄。
    2014-08-08
  • Android三種GSM手機定位技術(shù)分析

    Android三種GSM手機定位技術(shù)分析

    本文將詳細介紹Android三種GSM手機定位技術(shù)比較差別,有感興趣的朋友可以參考下
    2012-12-12
  • Android自定義View實現(xiàn)shape圖形繪制

    Android自定義View實現(xiàn)shape圖形繪制

    這篇文章主要為大家詳細介紹了Android使用自定義View實現(xiàn)shape圖形繪制,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • Android neon 優(yōu)化實踐示例

    Android neon 優(yōu)化實踐示例

    這篇文章主要為大家介紹了Android neon 優(yōu)化實踐示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • Android使用AIDL方式實現(xiàn)播放音樂案例

    Android使用AIDL方式實現(xiàn)播放音樂案例

    這篇文章主要介紹了Android使用AIDL方式實現(xiàn)播放音樂案例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • Android開發(fā)VR實戰(zhàn)之播放360度全景視頻

    Android開發(fā)VR實戰(zhàn)之播放360度全景視頻

    這篇文章主要為大家詳細介紹了Android開發(fā)VR實戰(zhàn)之播放360度全景視頻,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • Android錄制聲音文件(音頻)并播放

    Android錄制聲音文件(音頻)并播放

    這篇文章主要為大家詳細介紹了Android錄制聲音文件并播放音頻文件功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • Android非異常情況下的Activity生命周期分析

    Android非異常情況下的Activity生命周期分析

    這篇文章主要介紹了Android非異常情況下的Activity生命周期分析,幫助大家更好的理解和使用Android,感興趣的朋友可以了解下
    2021-01-01
  • Kotlin WorkManager使用方法詳解

    Kotlin WorkManager使用方法詳解

    這篇文章主要介紹了Kotlin WorkManager使用方法,WorkManager是 安卓體系結(jié)構(gòu)之一,也是Android JetPack的一部分。WorkManager用于可延期并需要保證執(zhí)行的后臺工作
    2023-01-01
  • Android?補間動畫及組合AnimationSet常用方法詳解

    Android?補間動畫及組合AnimationSet常用方法詳解

    這篇文章主要為大家介紹了Android?補間動畫及組合AnimationSet常用方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11

最新評論