1、android apk簽名有幾種方法?
一、利用jdk工具進行apk簽名
二、利用Eclipse中的ADT對apk進行簽名
2、每種簽名方法具體怎麼操做?
一、利用jdk工具進行簽名:
a、運行dos,cd到apk所在的目錄,簡稱apk_dir
b、生成簽名文件
命令以下:
apk_dir>keytool -genkey -alias signapk.keystore -keyalg RSA -validity 20000 -keystore signapk.keystore
運行結果以下:
c、對apk文件進行簽名
apk_dir>jarsigner -verbose -keystore signapk.keystore -signedjar new.apk Corner.apk signapk.keystore
運行結果以下:
d、驗證簽名
apk_dir>jarsigner -verify new.apk
jar 已驗證。
備註:可能遇到的問題
一、在上面第二步若是提示:jarsigner 沒法對jar進行簽名:java.util.zip.ZipException:……
極可能的緣由是:這是由於默認給apk作了debug 簽名,因此沒法作新的簽名,這時就能夠點工程右鍵->Android Tools ->Export Unsigned Application Package,導出一個沒有作debug簽名的apk。
二、若是在上面第三步若是提示:「警告:此 jar 包含證書鏈未驗證的條目。」這多是你的jdk版本是1.7的,一樣方法在jdk1.6上能夠,形成的緣由應該是jdk1.7與1.6有些區別。
二、利用Eclipse中的ADT工具簽名:
a、選中android項目,點鼠標右鍵
Android Tools --> Export Signed Application Packge...
b、Project Checks(這裏基本不用動) --> Keystore selection 選擇 create new keystore
在下面依次填寫簽名文件的名字(要以.store結尾),密碼,重複密碼 --> key creation
填寫簽名詳細信息
c、給簽名後的apk文件輸入一個名字,點Finsh完成!
以下圖:
備註:簽名過程常碰到的一個問題及解決辦法
問題:提示先處理完警告以及「You should check if you need to specify additional program jars」,簽名失敗,以下圖:
緣由是工程中引入了第三方jar包。
解決辦法:須要在proguard.cfg文件第一行加上-dontwarn便可解決,以下: