flutter A cryptographic error occurred while checking "https://pub.flutter-io.cn": Handshake erro...

問題現(xiàn)象:

A cryptographic error occurred while checking "https://pub.flutter-io.cn": Handshake error in client
You may be experiencing a man-in-the-middle attack, your network may be compromised, or you may have malware
installed on your computer

問題分析與定位

分析

1、懷疑鏡像原因:看字面意思是因為https://pub.flutter-io.cn證書握手原因,一開始以為是鏡像https://pub.flutter-io.cn,然后換成了上海、清華的鏡像還是一樣的問題?!贩晴R像原因
2、懷疑公司網絡問題:一頓操作,換成手機共享的wifi也是一樣 ——》非公司網絡問題
3、懷疑緩存問題:一頓flutter clean; dart pub cache repair 下來,把自己的flutter環(huán)境搞出了問題 ——》 非緩存問題
4、網上各種找原因,結果定位到是maven鏡像問題:
flutter 3.10.5 安裝問題

解決方案

1、修改flutter maven鏡像
打開http_host_validator.dart文件
(flutter跟目錄\packages\flutter_tools\lib\src\http_host_validator.dart,比如:E:\enviroment\flutter\packages\flutter_tools\lib\src\http_host_validator.dart)
修改kMaven 的地址為https://maven.aliyun.com/repository/google,如下所示:

/// Common Flutter HTTP hosts.
const String kCloudHost = 'https://storage.googleapis.com/';
const String kCocoaPods = 'https://cocoapods.org/';
const String kGitHub = 'https://github.com/';
//const String kMaven = 'https://maven.google.com/';
const String kMaven = 'https://maven.aliyun.com/repository/google';
const String kPubDev = 'https://pub.dev/';

2、刪除flutter bin cache
刪除: flutter跟目錄\bin\cache (比如:E:\enviroment\flutter\bin\cache)
3、命令行重新執(zhí)行 flutter doctor

以上一切準備就緒,以為一切都ok時,然而編譯項目時,報如下錯誤:

Building with plugins requires symlink support.

Please enable Developer Mode in your system settings. Run
  start ms-settings:developers
to open settings.
exit code 1



* What went wrong:
Execution failed for task ':app:compileReleaseKotlin'.
> Error while evaluating property 'filteredArgumentsMap' of task ':app:compileReleaseKotlin'.
   > Could not resolve all files for configuration ':app:releaseCompileClasspath'.
      > Failed to transform flutter.jar to match attributes {artifactType=android-classes-jar, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}.
         > Execution failed for JetifyTransform: E:\enviroment\flutter\bin\cache\artifacts\engine\android-arm64\flutter.jar.
            > Transform's input file does not exist: E:\enviroment\flutter\bin\cache\artifacts\engine\android-arm64\flutter.jar. (See https://issuetracker.google.com/issues/158753935)

分析:看日志是找不到android-arm
Transform's input file does not exist: E:\enviroment\flutter\bin\cache\artifacts\engine\android-arm64\flutter.jar
解決方案:
下載android-arm相關,命令行執(zhí)行:flutter precache

最后重新編譯項目,解決問題

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容