keystore操作
1.運行時簽名文件路徑(debug)
de>/home/xiaoq/
.android/debug
.keystore
de>
2.生成簽名文件(打包時使用)
de >keytool
-genkey
-alias android
.keystore
-keyalg RSA
-validity
20000
-keystore android
.keystore
de>
android.keystore為文件名

3.獲取MD5和SH1
de >keytool
-list
-v
-keystore android
.keystore
-storepass
123456
de>
Android.keystore為文件名
123456 為密碼
微信分享內的應用簽名就是MD5
百度地圖SDK需要的SHA1就是SHA1
4.修改keystore文件密碼
de >keytool
-storepasswd
-new 新密碼
-keystore android
.keystore
de>
5.修改keystore文件別名
de >keytool
-changealias
-keystore android
.keystore
-alias 原別名
-destalias 新別名
de>
6.修改keystore文件別名的密碼
de >keytool
-keypasswd
-alias 別名
-new android
-keystore android
.keystore
de>
總結
Android開發中,在使用第三方的sdk(如,百度地圖,微信分享,友盟統計等)提供的功能時通常都要事先申請密鑰,在申請密鑰時需要填寫打包的keystore文件的數字簽名(SHA1)。這樣,只有使用打包的keystore文件生成的apk才能正常的調用這些第三方提供的功能。
那么如果我們把debug.keystore用我們打包的keystore文件替換掉,那么就可以共用數字簽名
想要替換debug.keystore,那么打包的keystore文件的密碼、別名等信息必須和默認debug.keystore的一樣。
默認debug.keystore的信息如下:
de >Keystore name: “debug.keystore”
Keystore password: “android”
Key alias: “androiddebugkey”
Key password: “android”
CN: “CN=Android
Debug,
O=Android,
C=US
de>
具體操作參考上面的命令
附錄
keytool命令
de >
-certreq
[
-v
]
[
-protected
]
[
-alias
<別名
>
]
[
-sigalg
<sigalg
>
]
[
-file
<csr_file
>
]
[
-keypass
<密鑰庫口令
>
]
[
-keystore
<密鑰庫
>
]
[
-storepass
<存儲庫口令
>
]
[
-storetype
<存儲類型
>
]
[
-providername
<名稱
>
]
[
-providerclass
<提供方類名稱
>
[
-providerarg
<參數
>
]
] ...
[
-providerpath
<路徑列表
>
]
-changealias
[
-v
]
[
-protected
]
-alias <別名> -destalias <目標別名>
[
-keypass
<密鑰庫口令
>
]
[
-keystore
<密鑰庫
>
]
[
-storepass
<存儲庫口令
>
]
[
-storetype
<存儲類型
>
]
[
-providername
<名稱
>
]
[
-providerclass
<提供方類名稱
>
[
-providerarg
<參數
>
]
] ...
[
-providerpath
<路徑列表
>
]
-delete
[
-v
]
[
-protected
]
-alias <別名>
[
-keystore
<密鑰庫
>
]
[
-storepass
<存儲庫口令
>
]
[
-storetype
<存儲類型
>
]
[
-providername
<名稱
>
]
[
-providerclass
<提供方類名稱
>
[
-providerarg
<參數
>
]
] ...
[
-providerpath
<路徑列表
>
]
-exportcert
[
-v
]
[
-rfc
]
[
-protected
]
[
-alias
<別名
>
]
[
-file
<認證文件
>
]
[
-keystore
<密鑰庫
>
]
[
-storepass
<存儲庫口令
>
]
[
-storetype
<存儲類型
>
]
[
-providername
<名稱
>
]
[
-providerclass
<提供方類名稱
>
[
-providerarg
<參數
>
]
] ...
[
-providerpath
<路徑列表
>
]
-genkeypair
[
-v
]
[
-protected
]
[
-alias
<別名
>
]
[
-keyalg
<keyalg
>
]
[
-keysize
<密鑰大小
>
]
[
-sigalg
<sigalg
>
]
[
-dname
<dname
>
]
[
-validity
<valDays
>
]
[
-keypass
<密鑰庫口令
>
]
[
-keystore
<密鑰庫
>
]
[
-storepass
<存儲庫口令
>
]
[
-storetype
<存儲類型
>
]
[
-providername
<名稱
>
]
[
-providerclass
<提供方類名稱
>
[
-providerarg
<參數
>
]
] ...
[
-providerpath
<路徑列表
>
]
-genseckey
[
-v
]
[
-protected
]
[
-alias
<別名
>
]
[
-keypass
<密鑰庫口令
>
]
[
-keyalg
<keyalg
>
]
[
-keysize
<密鑰大小
>
]
[
-keystore
<密鑰庫
>
]
[
-storepass
<存儲庫口令
>
]
[
-storetype
<存儲類型
>
]
[
-providername
<名稱
>
]
[
-providerclass
<提供方類名稱
>
[
-providerarg
<參數
>
]
] ...
[
-providerpath
<路徑列表
>
]
-help -importcert
[
-v
]
[
-noprompt
]
[
-trustcacerts
]
[
-protected
]
[
-alias
<別名
>
]
[
-file
<認證文件
>
]
[
-keypass
<密鑰庫口令
>
]
[
-keystore
<密鑰庫
>
]
[
-storepass
<存儲庫口令
>
]
[
-storetype
<存儲類型
>
]
[
-providername
<名稱
>
]
[
-providerclass
<提供方類名稱
>
[
-providerarg
<參數
>
]
] ...
[
-providerpath
<路徑列表
>
]
-importkeystore
[
-v
]
[
-srckeystore
<源密鑰庫
>
]
[
-destkeystore
<目標密鑰庫
>
]
[
-srcstoretype
<源存儲類型
>
]
[
-deststoretype
<目標存儲類型
>
]
[
-srcstorepass
<源存儲庫口令
>
]
[
-deststorepass
<目標存儲庫口令
>
]
[
-srcprotected
]
[
-destprotected
]
[
-srcprovidername
<源提供方名稱
>
]
[
-destprovidername
<目標提供方名稱
>
]
[
-srcalias
<源別名
>
[
-destalias
<目標別名
>
]
[
-srckeypass
<源密鑰庫口令
>
]
[
-destkeypass
<目標密鑰庫口令
>
]
]
[
-noprompt
]
[
-providerclass
<提供方類名稱
>
[
-providerarg
<參數
>
]
] ...
[
-providerpath
<路徑列表
>
]
-keypasswd
[
-v
]
[
-alias
<別名
>
]
[
-keypass
<舊密鑰庫口令
>
]
[
-new
<新密鑰庫口令
>
]
[
-keystore
<密鑰庫
>
]
[
-storepass
<存儲庫口令
>
]
[
-storetype
<存儲類型
>
]
[
-providername
<名稱
>
]
[
-providerclass
<提供方類名稱
>
[
-providerarg
<參數
>
]
] ...
[
-providerpath
<路徑列表
>
]
-list
[
-v
|
-rfc
]
[
-protected
]
[
-alias
<別名
>
]
[
-keystore
<密鑰庫
>
]
[
-storepass
<存儲庫口令
>
]
[
-storetype
<存儲類型
>
]
[
-providername
<名稱
>
]
[
-providerclass
<提供方類名稱
>
[
-providerarg
<參數
>
]
] ...
[
-providerpath
<路徑列表
>
]
-printcert
[
-v
]
[
-file
<認證文件
>
]
-storepasswd
[
-v
]
[
-new
<新存儲庫口令
>
]
[
-keystore
<密鑰庫
>
]
[
-storepass
<存儲庫口令
>
]
[
-storetype
<存儲類型
>
]
[
-providername
<名稱
>
]
[
-providerclass
<提供方類名稱
>
[
-providerarg
<參數
>
]
] ...
[
-providerpath
<路徑列表
>
]
de>
