Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android 給空白包簽名並上傳審核

Android 給空白包簽名並上傳審核

編輯:關於Android編程

前言:之前公司app在騰訊開放平台認領應用時,涉及了一個問題:就是給空白包簽名。然後再上傳上去審核。

應用能在Android 系統上安裝必須是經過有私有key的證書數據簽名。Android系統通過證書確定應用的作者,和與應用建立信任關系。證書不會用於控制應用的安裝。證書不需要權威機構簽名:它是非常完美和標准。

關於簽名的一些重要點:

•所有的應用必須簽名(android 有默認簽名)。
•測試和調試應用,構建工具用指定的調試密鑰(android sdk 構建工具創建的)簽名你的應用。
•在發布給終端用戶之前要用合適的密鑰簽名應用,不能用調試密鑰簽名將要發布的應用。
•可以用自己簽名的證書簽名自己的應用。
•Android 系統僅僅會在應用安裝的時候檢查證書的有效期。如果應用在安裝之後過期,那麼應用還會正常運行。
•我們可以用標准的工具-Keytool 和 Jarsigner - 生成密鑰和簽名應用。
•在完成簽名之後,發布之前,需要使用zipalign 工具優化最終的apk 包。

Android 系統不能安裝和運行沒有正確簽名的包。

騰訊開放平台的官方說明如下,

如何簽名:

jarsgner-verbose-keystore[keystorePath]-singnedjar [apkOut] [apkln] [alias]

jarsgner命令格式:-verbose輸出詳細信息-keystore密鑰庫位置-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 輸出簽名的詳細信息 */

例如

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

android給未簽名的apk簽名命令。

准備文件

1、tap_unsign.apk(未簽名的apk)
2、shanhy.keystore(簽名證書文件)

命令語法:

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

例 子:

jarsigner -verbose -keystore G:\shanhy.keystore -signedjar G:\signed.apk G:\tap_unsign.apk shanhy

[keystorePath] 後面是絕對路徑G:\shanhy.keystore
[apkOut] 生成簽名的apk的位置
[apkIn] 參數代表在騰訊應用中心下載的未簽名apk,默認名稱為tap_unsign.apk
[alias] 是G:\shanhy.keystore 的別名

jarsigner這個exe在C:\Program Files\Java\jdk1.7.0_10\bin文件夾下。所以要用cmd進入這個文件夾

然後使用下面命令

復制代碼 代碼如下:
jarsigner -verbose -keystore G:\shanhy.keystore -signedjar G:\signed.apk G:\tap_unsign.apk shanhy

我遇到一個奇葩問題是:

公司的apk簽名證書是沒有後綴名.keystore,只有這個android_star_key的簽名證書。別名是android_key

這種問題要就不要加後綴名了,如下。

jarsigner -verbose -keystore G:\android_star_key -signedjar G:\signed.apk G:\tap_unsign.apk android_key

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