前言
Today,突然看到 CSDN App 提示有條私信:
想了下 no mouble,很 easy 呀,同步下就好啦~
雞老大,瞅瞅我分分鐘搞定~
得瑟的代價,就是啪啪打臉,車翻了。特意記錄下。
修車 Go~
小夥子發來一個異常圖,一起來看下:
腦子想了半天,沒遇到過這個問題呀,說的什麼鬼證書的事兒。我從 Windows 切換到 Mac OS,Android Studio 倒是一直沒出現過這個鬼鬼。
怎麼辦,找雞老大?
ummm,想都不想就找雞老大,容易被懟。順手打開 stack overflow 萬能的神器,找到如下解決方案:
這裏特意截取關鍵解決之道,方便某天神奇的打不開就尷尬了,其實還是方便我這個懶人,哇咔咔~
來來來,搞起來~
遠程了小夥子的電腦,發現是連接 jcenter 下載相關資源包異常導致,那麼操作就 easy 了很多了~
Step 1:打開 jcenter 官網,下載其證書
點擊證書進入詳情:
點擊「複製到文件…」,這裏很多都是一鍵式點點點,這裏唯獨需要主要一點,導出文件格式需要設置爲 Base64 編碼,如下圖所示:
Step 2:介紹倆個工具
Android Studio 提供的證書管理工具:
JDK 自帶證書文件:
Step 3:將下載下來的證書導入 JDK cacerts
這裏需要注意一點,Windows 打開 CMD 工具一定要以管理員身份運行!!!
這裏需要注意一點,Windows 打開 CMD 工具一定要以管理員身份運行!!!
這裏需要注意一點,Windows 打開 CMD 工具一定要以管理員身份運行!!!
否則最後會提示 cacerts 拒絕訪問。
鍵入以下命令行:
keytool -import -alias [證書別名] -keystore [JDK 中 cacerts 目錄地址] -file [下載網址證書本地存放地址]
密鑰口令:changeit
操作示意圖如下:
最後會提示「是否信任此證書?」輸入 y/Y 即可。
隨後清空 Android Studio 緩存並重啓即可。
番外篇
更新證書保險點需要三步走:
- 查看證書信息: keytool -list -keystore [JDK 中 cacerts 目錄地址]
- 刪除要更新的證書: keytool -delete -alias [證書別名] -keystore [JDK 中 cacerts 目錄地址]
- 更新證書: keytool -import -alias [證書別名] -keystore [JDK 中 cacerts 目錄地址] -file [下載網址證書本地存放地址]
這裏附上詳情操作步驟:
<!-- 查看證書信息 -->
C:\Program Files\Android\Android Studio\jre\bin>keytool -list -keystore "C:\Program Files\Java\jdk1.8.0_91\jre\lib\security\cacerts"
輸入密鑰庫口令:
密鑰庫類型: jks
密鑰庫提供方: SUN
您的密鑰庫包含 102 個條目
...
證書指紋 (SHA1): 74:20:74:41:72:9C:DD:92:EC:79:31:D8:23:10:8D:C2:81:92:E2:BB
as, 2020-2-17, trustedCertEntry, // 之前導入的證書
...
<!-- 導入證書,這個純粹個人實驗 -->
C:\Program Files\Android\Android Studio\jre\bin>keytool -import -alias as -keystore "C:\Program Files\Java\jdk1.8.0_91\jre\lib\security\cacerts" -file C:\Users\86177\Downloads\as.cer
輸入密鑰庫口令:
keytool 錯誤: java.lang.Exception: 證書未導入, 別名 <as> 已經存在
<!-- 刪除指定別名證書 -->
C:\Program Files\Android\Android Studio\jre\bin>keytool -delete -alias as -keystore "C:\Program Files\Java\jdk1.8.0_91\jre\lib\security\cacerts"
輸入密鑰庫口令:
<!-- 導入證書 -->
C:\Program Files\Android\Android Studio\jre\bin>keytool -import -alias as -keystore "C:\Program Files\Java\jdk1.8.0_91\jre\lib\security\cacerts" -file C:\Users\86177\Downloads\as.cer
輸入密鑰庫口令:
所有者: CN=*.bintray.com
發佈者: CN=GeoTrust RSA CA 2018, OU=www.digicert.com, O=DigiCert Inc, C=US
序列號: e6e
有效期爲 Thu Sep 26 08:00:00 GMT+08:00 2019 至 Tue Nov 09 20:00:00 GMT+08:00 2021