Android簽名的一些常見操作和問題彙總

2021-08-29 15:46:14 字數 2492 閱讀 8707

jarsigner對未簽名的apk簽名

簽名不對,請檢查簽名是否與開放平台上填寫的一致

使用 re-sign.jar 重新簽名

在簽名檔案所在資料夾開啟cmd

輸入以下命令即可檢視簽名資訊內容

預設的簽名檔案是debug.keystore,位置在$home/.android/debug.keystore,使用上面的命令時,讓你輸入密碼,預設的可以直接按回車,或者輸入android

我們把 apk 放在d盤 test 資料夾下

在cmd輸入以下命令即可檢視簽名資訊裡的內容

jarsigner -verify -verbose -certs d:\test\qunar.apk
上傳一些應用市場時,可能需要應用簽名認領,例如上傳魅族市場時,應用認領說明如下:

我們要做的就是,給市場提供的乙個未經簽名的apk重新簽名。用的簽名檔案就是我們要上傳的apk的簽名檔案

重新簽名要用到 jarsigner 命令,使用如下:

命令格式:

jarsigner -verbose -keystore [keystorepath] -signedjar [apkout] [apkin] [alias]
命令格式及引數意義:

-verbose -> 輸出簽名過程的詳細資訊

-keystore [keystorepath] -> 金鑰的庫的位置

-signedjar [apkout] -> 簽名後的輸出檔名

[apkin] -> 待簽名的檔名

[alias] -> 證書別名

演示一下:在桌面新建乙個資料夾 demo,裡面放上 未簽名的apk 和 簽名檔案

在當前資料夾中執行 cmd

由於 cmd 命令是在當前資料夾中執行的,所以簽名檔案路徑不用寫,直接寫簽名檔案名稱

待簽名 和 簽名後輸出檔名 都在當前路徑,所以直接寫名字

我的簽名檔案的別名是 yi

按回車鍵後,提示輸入密碼短語,輸入是看不見的,輸完按回車即可

結束後,demo 檔案中多了簽好名的apk了

檢視我的另一篇文章:傳送門

提取碼:esmq

使用

1、執行報android_home錯誤

當開啟re-sign.jar時彈出以下提示時

解決辦法

新建環境變數android_home,指向sdk安裝路徑

然後編輯path,新增android_home

具體新增環境變數的方法可以參考配置gradle環境變數

再次雙擊執行re-sign.jar後,沒有了剛才的提示,

2、將要重新簽名的apk拖到這裡,彈出以下

![在這裡插入描述](

解決辦法

3、等一會兒,成功會彈出以下彈框

注意這裡顯示了包名和啟動activity,記住這些資訊,自動化測試會用到

我們可以對比下前後簽名資訊

如何使用cmd檢視簽名資訊

可以看到重新簽名成功了

android一些不常見屬性

2android allowclearuserdata是否給以使用者清楚資料的許可權 預設為true true 表示應用管理者擁有清楚資料的許可權 false 表示應用管理者無清楚資料的許可權 3 android hardwareaccelerated true 能夠給activity和view啟用...

android 一些常見的intent請求

開啟瀏覽器 finaluri uri uri.parse intent newintent intent.action view,uri 打 許可權 intent intent new intent intent.setaction intent.action call intent.setdata...

關於CollectionView的一些操作記錄

通過重寫uicollectionviewflowlayout中的layoutattributesforelementsinrect方法可以讓uicollectionview顯示諸如瀑布流 水平流動布局等各種樣式的布局。其原理就是layoutattributesforelementsinrect方法本...