以前開發的一個android項目,前天突然有人找我要keystore,我開始一楞,什么keystore,我好像沒用過,后來到網上一查原來是android的apk簽名,apk簽名有什么用呢,它其實就是一個標識,如果應用程序apk進行更新時,得知道我要進行更新的是哪個應用程序,那么就需要對apk設keystore了。
android的apk簽名有兩種方式:
方式一:
apk簽名首先要有一個keystore的簽名用的文件。
keystore是由jdk自帶的工具keytool生成的具體方式如下:
開始-〉運行->cmd->cd到你安裝的jdk下的bin目錄下這里是C:\Program Files (x86)\Java\jdk1.60_21\bin
然后輸入keytool -genkey -alias chenAndroid.keystore -keyalg RSA -validity 20000 -keystore chenAndroid.keystore
-alias后跟的是別名這里是chenAndroid.keystore
-keyalg是加密方式這里是RSA
-validity是有效期 這里是20000天
-keystore就是要生成的keystore的名稱,這里是chenAndroid.keystore
然后按回車首先提示輸入密碼:這個在答名時要用的要記住了哦
然后會確認你的密碼
之后會依次叫你輸入相關信息如姓名,組織單位等
之后就是輸入chenAndroid.keystore主密碼(如果和keystore密碼相同,按回車)我在這里設和keystore相同,之后你就會在bin目錄下找到生成的chenAndroid.store
好了keystore生成了,現在可以進行簽名了現在把你要進行簽名的apk放到C:\Program Files (x86)\Java\jdk1.6.0_21\bin目錄下,記得一定要將要簽名的apk放到bin目錄下,然后利用jdk提供的工具jarsigner.exe進行簽名
arsigner -verbose -keystore chenAndroid.keystore -signedjar 111.apk HengAnProject2.1.apk chenAndroid.keystore
-keystore:keystore 的名稱
111.apk 是簽完名后的APK
HengAnProject2.1.apk 是簽名前的apk
然后按回車:會要求輸入剛才設置的密碼,輸入后按回車就開始簽名了。
另一種方法是通過插件進行簽名這就方便多了:
打開Eclipse->選擇你要簽名的項目->右擊-〉android tools->Export signed Application package接着一步步來具體的請參照http://yangguangfu.iteye.com/blog/723182