Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> Android中的應用認領總結

Android中的應用認領總結

編輯:Android開發實例

最近公司的一款產品提交國內市場,發現有些國內市場提示需要進行應用認領。原因就是別人(或者市場抓取)已經在我們之前將這個應用提交到了該市場。認領成功後,這個應用就重回你的懷抱了,其實認領很簡單,這裡講到的自然是對未簽名的包進行簽名。由於這樣的操作細小瑣屑,這樣更需要記錄一下,免得以後麻煩。

如何認領

1.一般的就是市場提供一個未簽名的apk包,認領方進行簽名後,上傳即可認領成功。
2.另一種就是提供公司證明,這個我們不講,也沒什麼可以講。

通常情況下認領都會有對一個未簽名的apk包簽名認證這種方式,因為簽名是軟件發布商所獨有的,通過對比測試需認領的包的簽名和剛簽過名的apk包是否一致,如果一致就認領成功,否則失敗。

對未簽名包簽名

代碼如下:

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore your_keystore  -storepass your_storepass -keypass your_keypass -signedjar path_of_signed_apk  path_of_unsigned_apk your_alias

需要替換的值

1.your_key_store keystore文件路徑
2.your_storepass store密碼
3.your_keypass key密碼
4.path_of_signed_apk 簽名後apk保存的目錄
5.path_of_unsigned_apk 待簽名的apk包
6.your_alias keystore中的別名

注意上面的簽名算法sigalg 使用SHA1withRSA或者MD5withRSA都可以。

驗證簽名

代碼如下:

jarsigner -verify -certs -verbose your_app.apk

比如我們驗證百度金融的apk,會得到類似這樣的結果

代碼如下:

19:23 $ jarsigner -verify -certs -verbose BaiduFinance.apk | more

s      61679 Fri Nov 14 19:50:16 CST 2014 META-INF/MANIFEST.MF

      X.509, CN=Baidu, OU=Baidu Inc., O=Baidu Inc., L=Beijing, ST=Beijing, C=CN
      [certificate is valid from 12/6/13 10:19 AM to 11/24/63 10:19 AM]
      [CertPath not validated: Path does not chain with any of the trust anchors]

       61800 Fri Nov 14 19:50:16 CST 2014 META-INF/MCO_BAID.SF
         936 Fri Nov 14 19:50:16 CST 2014 META-INF/MCO_BAID.RSA
sm      2304 Fri Nov 14 19:49:32 CST 2014 assets/mean/data_mean_24_bank_card

疑難問題

代碼如下:

No -tsa or -tsacert is provided and this jar is not timestamped

在簽名時加入下面的選項

代碼如下:

jarsigner -tsa http://timestamp.digicert.com

Windows無法打開文件

有些Windows工具無法打開簽名後的apk,如果你的簽名沒有錯誤,並且驗證過,這種情況請忽略。

簽名認領失敗

如果簽名認領失敗的話,請檢查目前線上的包是否進行了二次打包被別人篡改了簽名,如果是的話,需要進行商務上的溝通來解決了。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved