Android 給空白包簽名并上傳審核
前言:之前公司app在騰訊開放平臺認(rèn)領(lǐng)應(yīng)用時,涉及了一個問題:就是給空白包簽名。然后再上傳上去審核。
應(yīng)用能在Android 系統(tǒng)上安裝必須是經(jīng)過有私有key的證書數(shù)據(jù)簽名。Android系統(tǒng)通過證書確定應(yīng)用的作者,和與應(yīng)用建立信任關(guān)系。證書不會用于控制應(yīng)用的安裝。證書不需要權(quán)威機(jī)構(gòu)簽名:它是非常完美和標(biāo)準(zhǔn)。
關(guān)于簽名的一些重要點(diǎn):
•所有的應(yīng)用必須簽名(android 有默認(rèn)簽名)。
•測試和調(diào)試應(yīng)用,構(gòu)建工具用指定的調(diào)試密鑰(android sdk 構(gòu)建工具創(chuàng)建的)簽名你的應(yīng)用。
•在發(fā)布給終端用戶之前要用合適的密鑰簽名應(yīng)用,不能用調(diào)試密鑰簽名將要發(fā)布的應(yīng)用。
•可以用自己簽名的證書簽名自己的應(yīng)用。
•Android 系統(tǒng)僅僅會在應(yīng)用安裝的時候檢查證書的有效期。如果應(yīng)用在安裝之后過期,那么應(yīng)用還會正常運(yùn)行。
•我們可以用標(biāo)準(zhǔn)的工具-Keytool 和 Jarsigner - 生成密鑰和簽名應(yīng)用。
•在完成簽名之后,發(fā)布之前,需要使用zipalign 工具優(yōu)化最終的apk 包。
Android 系統(tǒng)不能安裝和運(yùn)行沒有正確簽名的包。
騰訊開放平臺的官方說明如下,
如何簽名:
jarsgner-verbose-keystore[keystorePath]-singnedjar [apkOut] [apkln] [alias]
jarsgner命令格式:-verbose輸出詳細(xì)信息-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 輸出簽名的詳細(xì)信息 */
例如
D:\>jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore
android給未簽名的apk簽名命令。
準(zhǔn)備文件
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] 參數(shù)代表在騰訊應(yīng)用中心下載的未簽名apk,默認(rèn)名稱為tap_unsign.apk
[alias] 是G:\shanhy.keystore 的別名
jarsigner這個exe在C:\Program Files\Java\jdk1.7.0_10\bin文件夾下。所以要用cmd進(jìn)入這個文件夾
然后使用下面命令
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

- Android簽名機(jī)制介紹:生成keystore、簽名、查看簽名信息等方法
- 給Android的APK程序簽名和重新簽名的方法
- android應(yīng)用簽名詳細(xì)步驟
- Android獲取apk程序簽名信息代碼示例
- Android APK使用Debug簽名重新打包 Eclipse更改默認(rèn)Debug簽名
- Android Apk去掉簽名以及重新簽名的方法
- 修改Android簽名證書keystore的密碼、別名alias以及別名密碼
- Android的APK應(yīng)用簽名機(jī)制以及讀取簽名的方法
- Android獲取apk簽名指紋的md5值(防止重新被打包)的實(shí)現(xiàn)方法
- Android曲線更圓滑的簽名畫板
相關(guān)文章
Kotlin StateFlow單數(shù)據(jù)更新熱流設(shè)計與使用介紹
StateFlow當(dāng)值發(fā)生變化,就會將值發(fā)送出去,下流就可以接收到新值。在某些場景下,StateFlow比LiveData更適用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2022-09-09
android使用Textview實(shí)現(xiàn)伸縮效果
這篇文章主要為大家詳細(xì)介紹了android使用Textview實(shí)現(xiàn)伸縮效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-11-11
Android使用Handler實(shí)現(xiàn)定時器與倒計時器功能
Handler的最常見應(yīng)用場景之一便是通過Handler在子線程中間接更新UI。這篇文章主要介紹了Android使用Handler實(shí)現(xiàn)定時器與倒計時器功能,需要的朋友可以參考下2018-02-02
Afianl框架里面的FinalBitmap加載網(wǎng)絡(luò)圖片
這篇文章主要介紹了Afianl框架里面的FinalBitmap加載網(wǎng)絡(luò)圖片的相關(guān)資料,需要的朋友可以參考下2015-07-07
Flutter之Timer實(shí)現(xiàn)短信驗(yàn)證碼獲取60s倒計時功能的代碼
這篇文章主要介紹了Flutter之Timer實(shí)現(xiàn)短信驗(yàn)證碼獲取60s倒計時功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07
Android 拍照選擇圖片并上傳功能的實(shí)現(xiàn)思路(包含權(quán)限動態(tài)獲取)
這篇文章主要介紹了Android 拍照(選擇圖片)并上傳(包含權(quán)限動態(tài)獲取),本文分步驟給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-12-12
解決Android加殼過程中mprotect調(diào)用失敗的原因分析
本文探討的主要內(nèi)容是mprotect調(diào)用失敗的根本原因,以及在加殼實(shí)現(xiàn)中的解決方案,通過本文的闡述,一方面能夠幫助遇到同類問題的小伙伴解決心中的疑惑,另一方面能夠給大家提供可落地的實(shí)現(xiàn)方案,需要的朋友可以參考下2022-01-01
Android Activity的跳轉(zhuǎn)與傳值詳解
這篇文章主要介紹了Android Activity的跳轉(zhuǎn)與傳值詳解的相關(guān)資料,需要的朋友可以參考下2017-06-06

