最近在编译 apk 的时候,总是出错,即使不出错,也是很慢,现已解决,特此记录
环境:
Mac , Charles , Android Studio
情景描述:
由于公司的 api 是 https 的,所以在抓包的时候需要设置一个证书 十分钟学会Charles抓包(iOS的http/https请求)
正常编译没问题,只要工程里的 *.gradle 发生了变动,在 sync project 的时候经常出错
错误提示如下:
Gradle 'app' project refresh failed: Unable to find valid certification path to requested target
后 Google 搜索,在 stackoverflow 上找到一篇帖子 Android Studio - Unable to find valid certification path to requested target
这个问题的根本原因是 Charles 会默认打开系统代理,所以 Android Studio 在 sync project 的时候,会经过 Charles 的代理,又因为 Charles 设置了根证书,所以 AS 在 sync project 的时候就报了‘找不到证书’的错误
解决方法:
Charles -> Proxy -> Proxy Settings -> macOS
在 macOS 里把 Enable macOS proxy 和 Enable macOS proxy on launch 的勾去掉,然后重新启动一下 Charles ,重启 AS 就可以正常编译了