[Android] Proxy 환경에서 (사내망) AndroidStudio Proxy설정

Heathcliff·2022년 7월 21일
0

회사 사내망 네트워크에서 AndroidStuido 이용해 개발을 하다보면

'Failed to import Gradle poject: Connection timed'
와 같이 에러가 발생하면서 dependencies에 설정한 라이브러리를 받을 수 없어 Build 되지 않는 현상이 나타난다.

이 경우 AndroidStudio에 proxy관련 설정을 해야한다.


우선 맥os 기준으로 '시스템 환결설정' > '네트워크' > '고급' 으로 진입 후 '프록시' 탭으로 이동한다.

아래의 화면에 보이는 프록시 구성 파일의 URL 정보를 기억해둔다.

예시 - http://xxx.xxx.x.xxx:8080/company.pac
http://[domain]:[port]/[pac 파일명.pac]

(이때 pac 파일은 프록시를 자동으로 구성하는 스크립트 파일이다.
https://docs.microsoft.com/ko-kr/troubleshoot/developer/browsers/connectivity-navigation/optimize-pac-performance 참고)


그 후 Android Studio의 'Preferences' > 'Appearance & Behavior' > 'System Settings' > HTTP Proxy 메뉴로 이동한다.

위 화면과 같이 Auto-detect proxy settings를 체크하고 'Automatic proxy configuration URL' 정보에 위에 복사해둔 URL 정보를 넣고 OK버튼을 누른다.


그 다음으로 브라우저 주소창에 해당 프록시 URL정보를 입력하면 pac파일을 다운로드 받을 수 있다.

http://xxx.xxx.x.xxx:8080/company.pac

다운로드 받은 pac파일을 Edit 프로그램으로 열어보면 script 정보를 확인할 수 있는데 가장 하단에 return문에 리턴되는 정보로 실제 사용하는 프록시 서버를 알 수 있다.

ex) return "PROXY yyy.yyy.y.yyy:8080"
(IP가 아닌 도메인 형태로 보여질 수도 있다.)
여기서 yyy.yyy.y.yyy:8080 IP 및 PORT 정보를 기억해두고

/Users/[user]/.gradle/gradle.properties 파일을 열어 아래 내용을 입력하고 저장해준다.

(이 경로의 gradle.properties는 global한 설정이다. 프로젝트 단위로 설정을 하려면 프로젝트에 존재하는 loacal gradle.properties 에 아래 내용을 입력한다.)

systemProp.http.proxyHost=yyy.yyy.y.yyy
systemProp.http.proxyPort=8080
systemProp.http.nonProxyHosts=*.nonproxyrepos.com|localhost

systemProp.https.proxyHost=yyy.yyy.y.yyy
systemProp.https.proxyPort=8080
systemProp.https.nonProxyHosts=*.nonproxyrepos.com|localhost

그 후 스튜디오를 종료 후 재시작하고 proxy 설정이 적용되어 gradle에 정의한 라이브러리가 잘 받아짐을 확인 할 수 있다.

profile
Android Developer

0개의 댓글