以前對(duì)apk重新打包簽名都是用的apktool里面的Auto-sign 工具,后來(lái)發(fā)現(xiàn)有時(shí)候利用該工具對(duì)一些apk簽名會(huì)失敗,所以后來(lái)就使用 jarsigner這個(gè)工具,現(xiàn)記錄一下這個(gè)工具的使用方法
創(chuàng)新互聯(lián)專注于原陽(yáng)企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè),購(gòu)物商城網(wǎng)站建設(shè)。原陽(yáng)網(wǎng)站建設(shè)公司,為原陽(yáng)等地區(qū)提供建站服務(wù)。全流程按需定制開(kāi)發(fā),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
1 首先要生成一個(gè)自己的key
D:\>keytool -genkey -alias myKeyStore -keyalg RSA -validity 20000 -keystore myKeyStore
輸入密鑰庫(kù)口令:
再次輸入新口令:
您的名字與姓氏是什么?
[Unknown]: sun
您的組織單位名稱是什么?
[Unknown]: ze
您的組織名稱是什么?
[Unknown]: duo
您所在的城市或區(qū)域名稱是什么?
[Unknown]: df
您所在的省/市/自治區(qū)名稱是什么?
[Unknown]: fd
該單位的雙字母國(guó)家/地區(qū)代碼是什么?
[Unknown]: cn
CN=sun, OU=ze, O=duo, L=df, ST=fd, C=cn是否正確?
[否]: y
輸入
(如果和密鑰庫(kù)口令相同, 按回車(chē)):
這里輸入密鑰庫(kù)口令: 要輸入你的密鑰庫(kù)的指令,并且要記住后面用的著,沒(méi)有什么意外情況的話,填寫(xiě)了下面的指令以后,就能生成一個(gè) myKeyStore 這個(gè)密鑰文件了
2 使用密鑰文件來(lái)重新簽名自己的apk
jarsigner -verbose -keystore myKeyStore -signedjar TestB_signed.apk TestB.apk myKeyStore
D:\>jarsigner -verbose -keystore myKeyStore -signedjar TestB_signed.apk TestB.apk myKeyStore
輸入密鑰庫(kù)的密碼短語(yǔ):
正在添加: META-INF/MANIFEST.MF
正在添加: META-INF/MYKEYSTO.SF
正在添加: META-INF/MYKEYSTO.RSA
正在簽名: AndroidManifest.xml
正在添加: assets/
正在簽名: assets/finalout.dex
正在簽名: classes.dex
正在添加: lib/
正在添加: lib/armeabi/
正在簽名: lib/armeabi/libinit.so
正在簽名: lib/armeabi/libsocketback.so
正在簽名: lib/armeabi/libsocketclient.so
正在添加: res/
正在簽名: resources.arsc
正在添加: res/drawable-hdpi/
正在簽名: res/drawable-hdpi/ic_launcher.png
正在添加: res/drawable-ldpi/
正在簽名: res/drawable-ldpi/ic_launcher.png
正在添加: res/drawable-mdpi/
正在簽名: res/drawable-mdpi/ic_launcher.png
正在添加: res/layout/
正在簽名: res/layout/login.xml
正在簽名: res/layout/main.xml
jar 已簽名。
警告:
未提供 -tsa 或 -tsacert, 此 jar 沒(méi)有時(shí)間戳。如果沒(méi)有時(shí)間戳, 則在簽名者證書(shū)的到期
日期 (2069-04-17) 或以后的任何撤銷日期之后, 用戶可能無(wú)法驗(yàn)證此 jar。
輸入密鑰庫(kù)的密碼短語(yǔ):
這里輸入剛才設(shè)置的密鑰密碼,然后就能夠生成簽名后的apk了,然后安裝即可..