編輯:關於Android編程
Android應用開發接入各種SDK時會發現,有很多SDK是需要靠package name和的證書指紋SHA1碼來識別的,如百度地圖SDK。這樣如果使用默認自動生成的debug的話就會給開發調試工作帶來一些麻煩。這時可以通過修改正式的release keystore,生成一份“遵守規矩”的臨時自定義調試證書給開發時用,就方便多了,具體方法如下。
首先要知道默認的debug證書位置在哪裡,打開Eclipse-->Windows-->Preferences
-->Android-->Build,如下圖所示:
然後打開cmd查看,進入 .android 目錄,然後輸入命令查看該debug.keystore的詳細信息。如下:
C:Documents and SettingsAdministrator.android>keytool -list -v -keystore debug.keystore 輸入密鑰庫口令: 密鑰庫類型: JKS 密鑰庫提供方: SUN 您的密鑰庫包含 1 個條目 別名: androiddebugkey 創建日期: 2015-9-7 條目類型: PrivateKeyEntry 證書鏈長度: 1 證書[1]: 所有者: CN=Android Debug, O=Android, C=US 發布者: CN=Android Debug, O=Android, C=US 序列號: 4ccdc980 有效期開始日期: Mon Sep 07 14:00:58 CST 2015, 截止日期: Wed Aug 30 14:00:58 CST 2045 證書指紋: MD5: 95:15:A3:05:C6:02:86:07:C3:42:D7:AF:E8:F1:B6:ED SHA1: E1:F7:8E:35:DF:DC:85:9E:7D:AB:62:83:5A:F0:AD:D6:A3:41:D8:06 SHA256: BB:06:CD:55:45:5F:43:58:C5:5B:59:3D:6B:1D:F1:85:B0:F1:15:69:98:4D:7A:2C:17:0B:E9:BB:13:A1:82:51 簽名算法名稱: SHA256withRSA 版本: 3 擴展: #1: ObjectId: 2.5.29.14 Criticality=false SubjectKeyIdentifier [ KeyIdentifier [ 0000: AA 1C 94 38 C4 8B 6D 03 38 2D 37 79 69 B5 69 4D ...8..m.8-7yi.iM 0010: 86 33 B8 19 .3.. ] ] ******************************************* *******************************************
可以得到相關信息為:
Keystore name: “debug.keystore”
Keystore password: “android”
Key alias: “androiddebugkey”
Key password: “android”
CN: “CN=Android Debug,O=Android,C=US”
因此我們遵循這個規則就可以用自定義調試證書了。
第一步:為我們的應用生成一個正式版的證書。如下圖所示。
1、創造一個新的keystore,並選擇導出到什麼位置,填寫密碼,密碼為ouyangpeng
2、填寫別名,別名密碼,有效期、姓名、組織、城市、省份、國家等信息,密碼為ouyangpeng
3、這樣就在相應的目錄下,生成了相應的證書,我給的名字是baiduMapLoc-release-key.keystore
4、通過命令查看生成的baiduMapLoc-release-key.keystore 的相關信息。
C:Documents and SettingsAdministrator桌面aiduMapLoc>keytool -list -v -keystore baiduMapLoc-release-key.keystore 輸入密鑰庫口令: 密鑰庫類型: JKS 密鑰庫提供方: SUN 您的密鑰庫包含 1 個條目 別名: baidumaploc 創建日期: 2015-10-10 條目類型: PrivateKeyEntry 證書鏈長度: 1 證書[1]: 所有者: CN=ouyangpeng, OU=ouyangpeng, O=ouyangpeng, L=深圳, ST=廣東, C=中國 發布者: CN=ouyangpeng, OU=ouyangpeng, O=ouyangpeng, L=深圳, ST=廣東, C=中國 序列號: 5eac1cda 有效期開始日期: Sat Oct 10 11:50:39 CST 2015, 截止日期: Mon Oct 02 11:50:39 CST 2045 證書指紋: MD5: 91:15:11:06:05:CB:E0:CB:4B:2B:36:02:81:16:A7:DF SHA1: E9:A3:E4:95:1F:D2:11:0E:3E:89:45:26:AB:EF:A2:FB:DB:3F:5B:1A SHA256: C4:D6:15:27:23:81:EC:3A:53:68:FE:04:63:91:70:79:B6:93:A6:5F:3D:29:ED:62:43:01:67:11:F3:28:91:8C 簽名算法名稱: SHA256withRSA 版本: 3 擴展: #1: ObjectId: 2.5.29.14 Criticality=false SubjectKeyIdentifier [ KeyIdentifier [ 0000: 69 D8 5C C9 2C 8E 9E B8 49 E3 E1 31 A7 35 B2 D1 i..,...I..1.5.. 0010: 10 52 FB 17 .R.. ] ] ******************************************* *******************************************
如圖所示:
第二步:復制剛才生成的正式版本的證書baiduMapLoc-release-key.keystore,並將復制的證書改名為baiduMapLoc-debug-key.keystore。
第三步:修改baiduMapLoc-debug-key.keystore的密碼
因為debug版本的keystore要求密碼為android,所以將原始密碼ouyangpeng改成android。如下圖所示。
C:Documents and SettingsAdministrator桌面aiduMapLoc>keytool -storepasswd -keystore baiduMapLoc-debug-key.keystore 輸入密鑰庫口令: 新keystore password: 重新輸入新keystore password:
第四步:修改baiduMapLoc-debug-key.keystore的alias別名。
C:Documents and SettingsAdministrator桌面aiduMapLoc>keytool -changealias -keystore baiduMapLoc-debug-key.keystore -alias baiduMapLoc -destalias androiddebugkey 輸入密鑰庫口令: 輸入的密鑰口令
因為debug版本的keystore要求alias為androiddebugkey,所以將原始alias為baidumaploc改成androiddebugkey。如下圖所示。
第五步:修改baiduMapLoc-debug-key.keystore的alias別名的密碼。
C:Documents and SettingsAdministrator桌面aiduMapLoc>keytool -keypasswd -keystore baiduMapLoc-debug-key.keystore -alias androiddebugkey 輸入密鑰庫口令: 輸入 的密鑰口令 新 的密鑰口令: 重新輸入新 的密鑰口令:
因為debug版本的keystore要求alias為androiddebugkey,並且別名密碼為android,因此我們要將密碼從ouyangpeng修改為android,如下圖所示。
第六步:查看修改後的baiduMapLoc-debug-key.keystore詳細信息
C:Documents and SettingsAdministrator桌面aiduMapLoc>keytool -list -v -keystore baiduMapLoc-debug-key.keystore 輸入密鑰庫口令: 密鑰庫類型: JKS 密鑰庫提供方: SUN 您的密鑰庫包含 1 個條目 別名: androiddebugkey 創建日期: 2015-10-10 條目類型: PrivateKeyEntry 證書鏈長度: 1 證書[1]: 所有者: CN=ouyangpeng, OU=ouyangpeng, O=ouyangpeng, L=深圳, ST=廣東, C=中國 發布者: CN=ouyangpeng, OU=ouyangpeng, O=ouyangpeng, L=深圳, ST=廣東, C=中國 序列號: 5eac1cda 有效期開始日期: Sat Oct 10 11:50:39 CST 2015, 截止日期: Mon Oct 02 11:50:39 CST 2045 證書指紋: MD5: 91:15:11:06:05:CB:E0:CB:4B:2B:36:02:81:16:A7:DF SHA1: E9:A3:E4:95:1F:D2:11:0E:3E:89:45:26:AB:EF:A2:FB:DB:3F:5B:1A SHA256: C4:D6:15:27:23:81:EC:3A:53:68:FE:04:63:91:70:79:B6:93:A6:5F:3D:29:ED:62:43:01:67:11:F3:28:91:8C 簽名算法名稱: SHA256withRSA 版本: 3 擴展: #1: ObjectId: 2.5.29.14 Criticality=false SubjectKeyIdentifier [ KeyIdentifier [ 0000: 69 D8 5C C9 2C 8E 9E B8 49 E3 E1 31 A7 35 B2 D1 i..,...I..1.5.. 0010: 10 52 FB 17 .R.. ] ] ******************************************* *******************************************
對比一下release版本的證書,MD5和SHA1都是一樣的
第七步:將修改後的baiduMapLoc-debug-key.keystore導入到Eclipse中
第八步:將修改後的baiduMapLoc-debug-key.keystore分享給團隊開發人員,這樣大家開發同一個APP時候的debug版本keystore也是一樣的了。這樣MD5碼和SHA1碼都是一樣的,在百度SDK中去申請秘鑰什麼的都可以只要申請一份了。
前言學會了OkHttp3的用法後,我們當然有必要來了解下OkHttp3的源碼,當然現在網上的文章很多,我仍舊希望我這一系列文章篇是最簡潔易懂的。1.從請求處理開始分析當我
自定義view實現塗鴉功能,包括撤銷、恢復、重做、保存以及橡皮擦(在風格中實現)功能,小模塊包括畫筆顏色調整、畫筆尺寸調整、畫筆類型(包括正常畫筆以及橡皮擦功能),之後又
前言最近剛好在做關於異步通信的需求,那麼,今天我們來講解下Android開發中的Handler異步通信傳遞機制(包括Looper、Message Queue)目錄定義An
第二十章、適配器模式 適配器模式是結構型設計模式之一,它在我們的開發中使用率極高,比如ListView、GridView以及RecyclerView都需要使用Adapte