當前位置:首頁 » 安卓系統 » android簽名工具

android簽名工具

發布時間: 2024-11-17 17:43:05

A. 如何對Android的APP進行簽名

1.簽名的步驟

a.創建key

b.使用步驟a中產生的key對apk簽名


2.具體操作


方法一: 命令行下對apk簽名(原理)

創建key,需要用到keytool.exe (位於jdk1.6.0_24jrein目錄下),使用產生的key對apk簽名用到的是jarsigner.exe (位於jdk1.6.0_24in目錄下),把上兩個軟體所在的目錄添加到環境變數path後,打開cmd輸入

D:>keytool -genkey -alias demo.keystore -keyalg RSA -validity 40000 -keystore demo.keystore

/*說明:-genkey 產生密鑰

-alias demo.keystore 別名 demo.keystore

-keyalg RSA 使用RSA演算法對簽名加密

-validity 40000 有效期限4000天

-keystore demo.keystore */

D:>jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore

/*說明:-verbose 輸出簽名的詳細信息

-keystore demo.keystore 密鑰庫位置

-signedjar demor_signed.apk demo.apk demo.keystore 正式簽名,三個參數中依次為簽名後產生的文件demo_signed,要簽名的文件demo.apk和密鑰庫demo.keystore.*/

注意事項:android工程的bin目錄下的demo.apk默認是已經使用debug用戶簽名的,所以不能使用上述步驟對此文件再次簽名。正確步驟應該是:在工程點擊右鍵->Anroid Tools-Export Unsigned Application Package導出的apk採用上述步驟簽名。


方法二:使用Eclipse導出帶簽名的apk

Eclipse直接能導出帶簽名的最終apk,非常方便,推薦使用,步驟如下:

第一步:導出。

第二步:創建密鑰庫keystore,輸入密鑰庫導出位置和密碼,記住密碼,下次Use existing keystore會用到。

第三步:填寫密鑰庫信息,填寫一些apk文件的密碼,使用期限和組織單位的信息。

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

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

第六步:Next,Next,結束!


方法三:使用IntelliJ IDEA導出帶簽名的apk

方法步驟基本和Eclipse相同,大概操作路徑是:菜單Tools->Andrdoid->Export signed apk。

B. 怎麼給Android應用程序簽名

1、准備工作
apk的簽名工作可以通過兩種方式來完成:
1)通過ADT提供的圖形化界面完成apk簽名;
2)完全通過DOS命令來完成apk簽名
我比較喜歡第2)種方式,所以下面將講解如何通過命令的方式完成apk簽名。
給apk簽名一共要用到3個工具,或者說3個命令,分別是:keytool、jarsigner和zipalign,下面是對這3個工具的簡單介紹:
1)keytool:生成數字證書,即密鑰,也就是上面說到的擴展名為.keystore的那類文件;
2)jarsigner:使用數字證書給apk文件簽名;
3)zipalign:對簽名後的apk進行優化,提高與Android系統交互的效率(Android SDK1.6版本開始包含此工具)
從這3個工具的作用也可以看出,這3個工具的使用順序。通常我們自己所開發的所有應用程序,都是使用同樣的簽名,即使用同一個數字證書,這就意味著:如果你是第一次做Android應用程序簽名,上面的3個工具都將用到;但如果你已經有數字證書了,以後再給其它apk簽名時,只需要用到jarsigner和zipalign就可以完成。
為了方便使用上面3個命令,首先需要將上面3個工具所在路徑添加到環境變數path中(我說的是為了方便使用,沒有說必須要這么做)。怎麼配置環境變數就不在此講解了,這里需要說一下這3個工具默認所在的路徑:
1)keytool:該工具位於jdk安裝路徑的bin目錄下;
2)jarsigner:該工具位於jdk安裝路徑的bin目錄下;
3)zipalign:該工具位於android-sdk-windows/tools/目錄下
不知道大家是否注意到keytool和jarsigner兩個工具是jdk自帶的,也就意味著生成數字證書和文件簽名不是Android的專利;另外從字面上理解jarsigner也能猜得出該工具主要是用來給jar文件簽名的。
2、生成未經簽名的apk文件
既然我們要自己對apk進行簽名,就不再需要ADT默認幫我們簽名了。如何得到一個未經簽名的apk文件呢?打開Eclipse,在Android工程名稱上點擊右鍵,依次選擇「Android Tools」 - 「Export Unsigned Application Package ...」,然後選擇一個存儲位置保存即可。這樣就得到了一個未經簽名的apk文件。
3、使用keytool工具生成數字證書
keytool -genkey -v -keystore liufeng.keystore -alias liufeng.keystore -keyalg RSA -validity 20000
說明:
1)keytool是工具名稱,-genkey意味著執行的是生成數字證書操作,-v表示將生成證書的詳細信息列印出來,顯示在dos窗口中;
2)-keystore liufeng.keystore 表示生成的數字證書的文件名為「liufeng.keystore」;
3)-alias liufeng.keystore 表示證書的別名為「liufeng.keystore」,當然可以不和上面的文件名一樣;
4)-keyalg RSA 表示生成密鑰文件所採用的演算法為RSA;
5)-validity 20000 表示該數字證書的有效期為20000天,意味著20000天之後該證書將失效

C. Android系統簽名

有時候,我們開發的apk需要用到系統許可權,需要在AndroidManifest.xml中添加共享系統進程屬性:

這時候apk的簽名就需要是系統簽名(platform、shared或media)才能正常使用。
常用系統簽名方式

這種方式比較麻煩,你需要有編譯過的源碼環境,並按如下步驟:
1、拷貝App源碼到Android源碼的packages/apps/目錄下,且App源碼是普通(Eclipse)格式的
2、配置Android.mk,在其中添加

3、使用mm編譯App,生成的apk即系統簽名

這種方式比在源碼環境下簽名簡單,App可以在Eclipse或Android Studio下編譯,然後給apk重新簽名即可。
但這種方式在頻繁調試的時候比較痛苦,即使寫成腳本,也需要重復一樣的操作。
相關文件
platform.x509.pem、platform.pk8、signapk.jar

文件位置
platform.x509.pem、platform.pk8:

signapk.jar:

signapk源碼路徑:

簽名命令

步驟

1、將相關文件及源apk文件置於同一路徑下
2、檢查源apk包,去掉META-INF/CERT.SF 和 META-INF/CERT.RSA 文件
3、執行簽名命令即可

讓Android Studio集成系統簽名,需要用到一個工具 keytool-importkeypair ,詳見下文。

這個工具的作用是將系統簽名的相關信息導入到已有的簽名文件里。

工具的使用方法可以通過–help或README.textile來尋求幫助

platform.x509.pem、platform.pk8、keytool-importkeypair、demo.jks、signature.sh

我的做法是在App根目錄新建Signature文件夾專門存放簽名相關文件。
步驟

1、生成demo.jks簽名文件

2、編寫簽名腳本signature.sh,內容如下:

為腳本文件添加可執行許可權:

執行腳本:

3、配置builde.gradle

在android區域下(與defaultConfig同級)添加配置:

這樣debug或release apk就帶有系統簽名了。

如果想直接Run app就是release版且帶系統簽名的apk,還需修改:

這樣直接Run app就是帶系統簽名的release版apk了。

D. 如何將Android的app簽名加入APP文件中

你好!
需要使用到安卓的簽名工具,
使用的一個例子:
1、使用ES編輯器或者類似的工具將qq2011的apk打開;
2、訪問res文件夾,在找到raw文件夾打開;
3、替換其中的msg信息提示音文件,如替換成悅耳的鳥鳴;
4、打開meta-inf文件夾,將其中的manifest.mf保留,其他文件全部刪除;
5、運行這款軟體,點擊「輸入」按鈕,選擇剛才修改過的文件;
6、在已簽名輸出框填寫希望的名字;
7、「簽名文件」後即可安裝自己修改過的qq啦,注意,必須先卸載原版,否則可能安裝失敗。
謝謝!

熱點內容
財務信息伺服器搭建 發布:2025-01-11 04:48:09 瀏覽:875
演算法實現過程 發布:2025-01-11 04:43:45 瀏覽:457
瞄準下載ftp 發布:2025-01-11 04:43:44 瀏覽:573
校園電影腳本 發布:2025-01-11 04:32:08 瀏覽:437
現在手機配置最高是什麼 發布:2025-01-11 04:30:37 瀏覽:549
學信網默認密碼是多少 發布:2025-01-11 04:25:45 瀏覽:530
jdbctemplate調用存儲過程 發布:2025-01-11 04:25:41 瀏覽:256
我的世界怎麼不用錢創建伺服器 發布:2025-01-11 04:25:39 瀏覽:283
打卡機資料庫 發布:2025-01-11 04:18:36 瀏覽:916
製作產業項目視頻腳本 發布:2025-01-11 04:10:14 瀏覽:186