天天看點

android應用簽名注意事項

谷歌應用市場千萬不能上傳應用簽名。

如果你上傳了自己的簽名 那麼恭喜你,你基本綁在了google play上。google play會移除你自己的簽名,然後從新對你簽名。 關鍵上傳的簽名和google簽名證書是不一樣的。

深追起來就是 一旦你申請了 App signing , google 會自己為你建立一個.jks(命名為sb.jks) 檔案并存在他們的伺服器 而你第一次上傳的應用簽名的。jks (命名為me.jks) 會被當做 上傳簽名 或者說是驗證簽名。 一旦你上傳的包不是用me.jks 簽名的會提示錯誤 ,校驗失敗 如果是用me.jks 上傳的 那麼 他就會抹去你的me.jks 簽名 用他在她自己伺服器生成的 sb.jks 為你的應用簽名 what’s happen ? 意味着你的應用隻能在google 市場更新 (這nmb完全特麼的獨裁啊)你在app中的自動更新使用者下載下傳下來會提示什麼 簽名錯誤, why 因為不是用的你的me.jks 簽名的 用的是 sb.jks 啊 還有就是 你的微信第三方登入無法登入、微信支付、facebook 分享等等都不能用 為什麼 因為他們會校驗簽名 。

那簽名是怎樣來操作,介紹下

1、檢視 keystore  

$ keytool -list -keystore debug.keystore 

結果:

Keystore type: JKS

Keystore provider: SUN

Your keystore contains 1 entry

androiddebugkey, Mar 21, 2013, PrivateKeyEntry, 

Certificate fingerprint (MD5): E0:F4:90:EE:CD:77:17:0E:B8:C4:AC:64:B2:F6:FC:83

2、檢視三方應用或是系統應用簽名

用winrar打開待檢視的apk,将其中META-INF檔案夾解壓出來,得到其中的CERT.RSA檔案

$ keytool -printcert -file META-INF/CERT.RSA

結果:

Owner: CN=Android Debug, O=Android, C=US

Issuer: CN=Android Debug, O=Android, C=US

Serial number: 514ab2e1

Valid from: Thu Mar 21 15:12:33 CST 2013 until: Sat Mar 14 15:12:33 CST 2043

Certificate fingerprints:

MD5:  E0:F4:90:EE:CD:77:17:0E:B8:C4:AC:64:B2:F6:FC:83

SHA1: 7F:E5:11:D8:37:4F:DA:D7:75:EA:A5:8C:47:06:85:95:6D:1D:3F:2B

Signature algorithm name: SHA1withRSA

Version: 3

3、給空白包簽名

jarsigner -verbose -keystore [keystorePath] -signedjar [apkOut] [apkIn] [alias]

jarsigner指令格式:-verbose輸出詳細資訊 -keystore密鑰庫位置 -signedjar要生成的檔案 要簽名的檔案 密鑰庫檔案

keystorePath參數代表keyStore的絕對路徑,如D:\keystore

apkOut參數代表簽名後的apk路徑,如D:\signed.apk

apkin參數代表在騰訊應用中心下載下傳的未簽名apk,預設名稱為tap_unsign.apk

alias參數代表簽名用的alias名稱(建立keyStore時所填寫),如timdong

$ jarsigner -verbose -keystore debug.keystore -signedjar test2.apk tap_unsign1.apk timdong

Enter Passphrase for keystore: 

   adding: META-INF/MANIFEST.MF

   adding: META-INF/ANDROIDD.SF

   adding: META-INF/ANDROIDD.RSA

  signing: res/drawable/ic_launcher.png

  signing: res/layout/main.xml

  signing: AndroidManifest.xml

  signing: resources.arsc

  signing: classes.dex