使用jdk方法給apk文件進(jìn)行簽名
1.使用keytool生成簽名文件
使用jdk的keytool工具生成簽名用的秘鑰庫文件们拙,具體使用命令可以用keytool -help命令查看
生成證書命令:keytool -genkey -alias [alias] -keyalg [keyalg]-validity [validity] -keystore [keystorename]
栗子:keytool -genkey -alias mykeystore.keystore -keyalg RSA -validity 3650 -keystore mykeystore.keystore
參數(shù)解釋: -alias:別名满败,隨便輸入,這里是mykeystore.keystore鸭栖,可以隨意換成其它的名字疯坤,xxxx编曼;-keyalg:加密方式僧凤,一般使用RSA即可畜侦;-validity:有效時(shí)間,越長(zhǎng)越好躯保,這里是3650天旋膳。-keystore: 簽名文件名稱,這里的簽名文件名和別名是寫成一樣的途事,怕多了記混了验懊,嘿嘿。
按下回車后會(huì)提示輸入一些信息尸变,秘鑰口令义图、姓氏、公司名召烂、所在城市名等等碱工,輸入就行了。秘鑰口令可以隨便輸奏夫,不要忘記了就行怕篷,簽名時(shí)要用到⌒镏纾可能之后會(huì)有一個(gè)遷移提示廊谓,按照提示遷移就行。
完成后麻削,這時(shí)應(yīng)該多了一個(gè)mykeystore.keystore文件蒸痹。
2.使用jarsigner給apk簽名
jdk自帶jarsiner簽名工具,命令:jarsigner -verbose -keystore [keystorePath] -signedjar [apkOut] [apkIn] [alias]
栗子:jarsigner -verbose -keystore mykeystore.keystore -signedjar signed.apk nosigned.apk
mykeystore.keystore (這里的簽名文件和未簽名apk文件放在了同一個(gè)文件夾下呛哟,省去了路徑)
參數(shù):-verbose 顯示簽名詳情叠荠,(建議不使用該命令,就是簽名過程的輸出信息竖共,沒什么大作用);keystorePath 簽名文件路徑俺祠;?apkOut:簽名后的apk文件名公给,apkIn:簽名前的文件名;[alias]:簽名文件別名
提示簽名成功后蜘渣,會(huì)多出一個(gè)signed.apk文件淌铐,簽名成功!